/*
Theme Name: Fransi
Theme URI: https://fransi.pl
Author: Fransi
Description: Elegancki motyw sklepu internetowego (WooCommerce) w odcieniach beżu i granatu. Strona główna z dużym zdjęciem, kafelkami kategorii, rzędami produktów, sekcją Instagram i newsletterem. Responsywny, z menu mobilnym.
Version: 1.8.6
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: fransi
*/

:root {
	--paper: #fcfaf6;
	--cream: #f4eee5;
	--sand: #e7d9c6;
	--camel: #b59a68;
	--rose: #c6a78a;
	--navy: #6f5b43;
	--ink: #302a24;
	--muted: #807568;
	--line: #e5dbcd;
	--serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--sans: "Jost", "Helvetica Neue", Arial, sans-serif;
	--script: "Pinyon Script", "Brush Script MT", cursive;
	--max: 1240px;
	--gap: clamp(12px, 2vw, 24px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0; background: var(--paper); color: var(--ink);
	font: 400 16px/1.6 var(--sans); -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--camel); }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 500; line-height: 1.2; margin: 0 0 .5em; }
:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px,1px,1px,1px); white-space: nowrap;
}
.skip-link:focus { clip: auto; width: auto; height: auto; background: #fff; padding: 8px 14px; z-index: 100; left: 8px; top: 8px; }
button { font: inherit; cursor: pointer; }

/* ---------- Header ---------- */
.site-header { background: #fff; position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); }
.site-header__bar {
	max-width: var(--max); margin: 0 auto; padding: 14px 20px 6px;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
}
.site-header__side { display: flex; align-items: center; gap: 4px; }
.site-header__side--right { justify-content: flex-end; }
.brand { text-align: center; line-height: 1; }
.brand__name, .brand .custom-logo-link { display: inline-block; }
.brand__name { font: 500 clamp(26px, 4vw, 38px)/1 var(--serif); letter-spacing: .14em; text-transform: uppercase; }
.brand img { max-height: 54px; width: auto; }
.brand__tagline { display: block; font: 400 clamp(22px, 3vw, 30px)/1.1 var(--script); color: var(--navy); margin-top: 2px; }
.icon-link, .burger {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; background: none; border: 0; color: var(--ink); padding: 0;
}
.cart-count {
	position: absolute; top: 2px; right: 0; min-width: 16px; height: 16px; padding: 0 4px;
	border-radius: 8px; background: var(--rose); color: #fff; font-size: 10px; line-height: 16px; text-align: center;
}
.cart-count:empty, .cart-count:where([data-zero]) { display: none; }
.burger { display: none; }
.site-search { padding: 10px 20px 16px; max-width: 560px; margin: 0 auto; }
.site-search form { display: flex; gap: 8px; }
.site-search input[type="search"], .search-form input[type="search"] {
	flex: 1; padding: 10px 14px; border: 1px solid var(--line); background: var(--paper); font: inherit; border-radius: 2px;
}
.search-form { display: flex; gap: 8px; }
.search-form input[type="submit"], .site-search input[type="submit"] {
	padding: 10px 18px; border: 0; background: var(--navy); color: #fff; font: inherit; border-radius: 2px; cursor: pointer;
}

.primary-nav { max-width: var(--max); margin: 0 auto; padding: 0 20px; }
.primary-nav__list { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px clamp(18px, 3vw, 40px); }
.primary-nav__list a {
	display: block; padding: 12px 2px 14px; font-size: 12.5px; font-weight: 400;
	letter-spacing: .12em; text-transform: uppercase; border-bottom: 1px solid transparent;
}
.primary-nav__list .current-menu-item > a,
.primary-nav__list a:hover { border-bottom-color: var(--ink); color: var(--ink); }

/* ---------- Hero ---------- */
.hero { position: relative; max-width: var(--max); margin: var(--gap) auto 0; padding: 0 20px; }
.hero__link { display: block; }
.hero__text {
	position: absolute; top: 50%; margin: 0; color: #fff; font: 400 clamp(17px, 2.4vw, 28px)/1.2 var(--serif);
	text-shadow: 0 1px 14px rgba(0,0,0,.35); max-width: 24%;
}
.hero__text--left { left: calc(20px + 4%); }
.hero__text--right { right: calc(20px + 4%); text-align: right; }

/* ---------- Sections ---------- */
.section { max-width: var(--max); margin: 0 auto; padding: clamp(32px, 5vw, 64px) 20px 0; }
.section__title { text-align: center; font-size: clamp(26px, 3.2vw, 34px); margin-bottom: 24px; }
.section--tiles { padding-top: var(--gap); }

.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.tile a { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--sand); }
.tile__img, .tile__img img { display: block; width: 100%; height: 100%; }
.tile__img img { object-fit: cover; transition: transform .6s ease; }
.tile a:hover .tile__img img { transform: scale(1.04); }
.tile__ph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: linear-gradient(135deg, var(--sand), var(--camel)); }
.tile__icon { width: 38%; max-width: 120px; aspect-ratio: 1; background: rgba(255,255,255,.7); -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; margin-bottom: 14%; }
.tile a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(40,28,18,.5), rgba(40,28,18,.08) 60%); }
.tile__label {
	position: absolute; z-index: 1; left: 0; right: 0; bottom: 14%; text-align: center;
	color: #fff; font: 500 clamp(20px, 2.4vw, 28px)/1.1 var(--serif);
}

/* Rząd produktów */
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * var(--gap)) / 4); gap: var(--gap); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 14px; scrollbar-width: thin; scrollbar-color: var(--sand) transparent; }
.rail__item { scroll-snap-align: start; }
.pcard { display: block; }
.pcard__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sand); }
.pcard__img img { width: 100%; height: 100%; object-fit: cover; }
.pcard__name { display: block; margin-top: 10px; font: 500 18px/1.25 var(--serif); }
.pcard__price { display: block; font-size: 14px; color: var(--muted); }

/* Instagram */
.insta { margin-top: clamp(40px, 6vw, 80px); background: var(--cream); padding: 36px 0 clamp(32px, 5vw, 56px); }
.insta__head { max-width: var(--max); margin: 0 auto 20px; padding: 0 20px; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.insta__title { font: 400 clamp(26px, 3vw, 34px)/1 var(--script); margin: 0; }
.insta__title span { font: 400 14px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; margin-left: 6px; }
.insta__head a { font-size: 14px; border-bottom: 1px solid currentColor; }
.insta__grid, .insta__empty { max-width: var(--max); margin: 0 auto; padding: 0 20px; }
.insta__empty { color: var(--muted); font-size: 14px; }
.insta__grid img { width: 100%; }
/* typowa siatka wtyczek (Smash Balloon itp.) */
.insta #sb_instagram #sbi_images { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 4px !important; padding: 0 !important; }
.insta #sb_instagram .sbi_item { width: auto !important; padding: 0 !important; }

/* ---------- Footer ---------- */
.site-footer { background: var(--cream); border-top: 1px solid var(--line); }
.insta + .site-footer { border-top: 0; }
.newsletter { max-width: 640px; margin: 0 auto; padding: 48px 20px 28px; text-align: center; }
.newsletter__title { font-size: 30px; margin-bottom: 6px; }
.newsletter__text { margin: 0 0 18px; color: var(--muted); font-size: 15px; }
.newsletter__form form, .newsletter__form--plain { display: flex; max-width: 460px; margin: 0 auto; }
.newsletter__form input[type="email"] { flex: 1; min-width: 0; padding: 12px 14px; border: 1px solid var(--line); border-right: 0; background: #fff; font: inherit; border-radius: 2px 0 0 2px; }
.newsletter__form button, .newsletter__form input[type="submit"] {
	padding: 12px 22px; background: var(--ink); color: #fff; border: 0; font: inherit; border-radius: 0 2px 2px 0;
}
.newsletter__form button:hover, .newsletter__form input[type="submit"]:hover { background: var(--navy); }
.social { display: flex; justify-content: center; gap: 22px; margin-top: 24px; font-size: 14px; }
.social a { border-bottom: 1px solid transparent; }
.social a:hover { border-bottom-color: currentColor; }
.site-footer__bottom { max-width: var(--max); margin: 0 auto; padding: 18px 20px 28px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; font-size: 13px; color: var(--muted); }
.site-footer__bottom p { margin: 0; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }

/* ---------- Strony, wpisy, WooCommerce ---------- */
.content { max-width: var(--max); margin: 0 auto; padding: 40px 20px 0; min-height: 40vh; }
.page-title { font-size: clamp(30px, 4vw, 44px); text-align: center; margin-bottom: 28px; }
.entry { margin-bottom: 40px; }
.entry__body { max-width: 760px; margin: 0 auto; }
.entry__title { font-size: 28px; }
.pagination { margin: 24px 0; text-align: center; }
.woocommerce-breadcrumb { font-size: 13px; color: var(--muted); margin-bottom: 20px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: var(--gap); margin: 0 0 40px !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; margin: 0 0 10px; }
.woocommerce-loop-product__title { font: 500 18px/1.25 var(--serif) !important; padding: 0 !important; }
.woocommerce .price, .woocommerce ul.products li.product .price { color: var(--muted) !important; font-size: 14px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit {
	background: var(--ink); color: #fff; border-radius: 2px; font: 400 14px var(--sans); padding: 12px 22px; letter-spacing: .04em;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover { background: var(--navy); color: #fff; }
.woocommerce div.product .product_title { font-size: clamp(28px, 3.5vw, 40px); }
.woocommerce div.product p.price { font-size: 20px; color: var(--ink) !important; }
.woocommerce span.onsale { background: var(--rose); border-radius: 2px; min-height: 0; min-width: 0; line-height: 1; padding: 7px 10px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--camel); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--camel); }

/* ---------- Mobile / tablet ---------- */
@media (max-width: 960px) {
	.rail { grid-auto-columns: calc((100% - 2 * var(--gap)) / 3); }
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 760px) {
	.burger { display: inline-flex; }
	.site-header__bar { padding: 10px 12px 10px; }
	.brand__tagline { display: none; }
	.primary-nav { display: none; padding: 0; background: #fff; border-top: 1px solid var(--line); }
	.primary-nav.is-open { display: block; }
	.primary-nav__list { flex-direction: column; gap: 0; }
	.primary-nav__list a { padding: 14px 20px; border-bottom: 1px solid var(--line); }

	.hero { padding: 0; margin-top: 0; }
	.hero__media { aspect-ratio: 4 / 3; }
	.hero__text { display: none; }

	/* Kafelki kategorii jako wiersze: nazwa po lewej, zdjęcie po prawej */
	.tiles { grid-template-columns: 1fr; gap: 10px; padding: 0 2px; }
	.tile a { display: flex; align-items: stretch; aspect-ratio: auto; height: 88px; background: var(--cream); border: 1px solid var(--sand); border-radius: 12px; }
	.tile a::after { display: none; }
	.tile__label { position: static; order: 1; flex: 1; display: flex; align-items: center; padding: 0 20px; color: var(--ink); text-align: left; font: 400 14px var(--sans); letter-spacing: .1em; text-transform: uppercase; }
	.tile__img { order: 2; width: 38%; flex: none; }
	.tile__icon { background: var(--ink); width: 44%; margin: 0; }

	.rail { grid-auto-columns: 44%; }
	.insta #sb_instagram #sbi_images { grid-template-columns: repeat(3, 1fr); }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	.site-footer__bottom { justify-content: center; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* =====================================================================
   v1.1 – ikony, rozsuwane menu, ramka hero, strony, koszyk, konto
   ===================================================================== */
.icon { display: inline-block; vertical-align: middle; flex: none; }
.center { text-align: center; }
.hp { position: absolute; left: -9999px; }
.btn, .woocommerce a.btn {
	display: inline-block; padding: 13px 28px; background: var(--ink); color: #fff; border: 0; border-radius: 2px;
	font: 400 14px var(--sans); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background .2s;
}
.btn:hover, .woocommerce a.btn:hover { background: var(--navy); color: #fff; }
.btn--small { padding: 10px 18px; font-size: 12px; text-align: center; }

/* ---------- Hero ze złotą ramką ---------- */
.hero__frame {
	position: relative; border: 7px solid transparent;
	border-image: linear-gradient(135deg, #8c6a24, #e8cd7c 22%, #b8913b 48%, #f4e3a6 74%, #8c6a24) 1;
	box-shadow: 0 14px 34px rgba(70, 48, 12, .16); background: var(--sand);
}
.hero__frame::after {
	content: ""; position: absolute; inset: 12px; border: 1px solid rgba(236, 210, 130, .95);
	box-shadow: inset 0 0 0 1px rgba(140, 106, 36, .25); pointer-events: none; z-index: 2;
}
.hero__media { aspect-ratio: 21 / 9; background: var(--sand) center 22% / cover no-repeat; }
.hero__text { z-index: 3; }
.hero__text--left { left: 6%; }
.hero__text--right { right: 6%; }

/* ---------- Dropdowny: konto i mini-koszyk ---------- */
.dd { position: relative; }
.dd__panel {
	position: absolute; right: 0; top: calc(100% + 6px); min-width: 210px; padding: 14px 18px;
	background: #fff; border: 1px solid var(--line); box-shadow: 0 16px 32px rgba(40, 28, 18, .1);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s; z-index: 60;
}
.dd:hover .dd__panel, .dd:focus-within .dd__panel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.dd__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.dd__panel a:not(.button):not(.btn) { display: block; padding: 7px 0; font-size: 14px; }
.dd__hello { margin: 0 0 6px; font: 500 18px var(--serif); border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.dd__panel--cart { width: 340px; max-width: 86vw; }
.dd__panel--cart ul.cart_list, .dd__panel--cart ul.woocommerce-mini-cart { margin: 0; padding: 0; max-height: 280px; overflow: auto; }
.woocommerce-mini-cart-item { position: relative; display: block; padding: 10px 24px 10px 66px; min-height: 76px; border-bottom: 1px solid var(--line); font-size: 14px; }
.woocommerce-mini-cart-item img { position: absolute; left: 0; top: 10px; width: 52px; height: 64px; object-fit: cover; }
.woocommerce-mini-cart-item a.remove { position: absolute; right: 0; top: 8px; color: var(--muted) !important; font-size: 18px; text-decoration: none; }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 12px 0; }
.woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0; }
.woocommerce-mini-cart__empty-message { margin: 0; font-size: 14px; color: var(--muted); }
.cart-count[data-zero], .cart-count:empty { display: none; }

/* ---------- Rozsuwane menu „Kategorie” ---------- */
.primary-nav__list > li { position: static; }
.mega__toggle .icon { margin-left: 2px; transition: transform .25s ease; }
.mega:hover .mega__toggle .icon, .mega.is-open .mega__toggle .icon { transform: rotate(180deg); }
.mega__panel {
	position: absolute; left: 0; right: 0; top: 100%; background: #fff; overflow: hidden;
	max-height: 0; opacity: 0; visibility: hidden; border-bottom: 1px solid transparent;
	transition: max-height .4s ease, opacity .3s ease, visibility 0s linear .4s, border-color .3s;
}
.mega:hover .mega__panel, .mega:focus-within .mega__panel, .mega.is-open .mega__panel {
	max-height: 460px; opacity: 1; visibility: visible; border-bottom-color: var(--line);
	box-shadow: 0 22px 30px rgba(40, 28, 18, .08); transition-delay: 0s;
}
.mega__inner { max-width: var(--max); margin: 0 auto; padding: 26px 20px 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 28px; }
.mega__item { display: flex; align-items: center; gap: 14px; padding: 8px; border-radius: 4px; transition: background .2s, transform .2s; }
.mega__item:hover { background: var(--cream); transform: translateX(4px); color: var(--ink); }
.mega__img { width: 58px; height: 58px; flex: none; border-radius: 50%; overflow: hidden; background: var(--sand); display: flex; align-items: center; justify-content: center; }
.mega__img img { width: 100%; height: 100%; object-fit: cover; }
.mega__img .tile__icon { width: 56%; margin: 0; background: #fff; }
.mega__name { font: 500 20px var(--serif); flex: 1; letter-spacing: 0; text-transform: none; }
.mega__count { font-size: 12px; color: var(--muted); }
.mega__all { grid-column: 1 / -1; text-align: right; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; padding-top: 6px; border-top: 1px solid var(--line); }
.mega__empty { grid-column: 1 / -1; color: var(--muted); margin: 0; }
/* podmenu własnego menu WP */
.primary-nav__list .sub-menu {
	position: absolute; background: #fff; border: 1px solid var(--line); min-width: 200px; padding: 8px 18px; opacity: 0; visibility: hidden;
	transform: translateY(6px); transition: opacity .2s, transform .2s, visibility 0s linear .2s;
}
.primary-nav__list li { position: relative; }
.primary-nav__list li:hover > .sub-menu, .primary-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.primary-nav__list .mega { position: static; }

/* ---------- Pasek zalet, social ---------- */
.usp { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: var(--max); margin: clamp(36px, 5vw, 64px) auto 0; padding: 0 20px 32px; }
.usp li { display: flex; gap: 14px; align-items: center; color: var(--camel); }
.usp span { display: flex; flex-direction: column; color: var(--muted); font-size: 13px; line-height: 1.35; }
.usp strong { color: var(--ink); font: 500 17px var(--serif); }
.insta + .usp { display: none; }
.insta__links { display: flex; gap: 14px; }
.insta__links a { color: var(--rose); display: inline-flex; }
.social a { display: inline-flex; padding: 6px; color: var(--rose); border: 0; }
.social a:hover { color: var(--navy); }

/* ---------- Kontakt i zwroty ---------- */
.contact { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(24px, 5vw, 64px); max-width: 1000px; margin: 0 auto 40px; }
.contact__list { display: grid; gap: 14px; margin-top: 20px; }
.contact__list li { display: flex; gap: 12px; align-items: flex-start; color: var(--camel); }
.contact__list a, .contact__list span { color: var(--ink); }
.contact__form { background: #fff; border: 1px solid var(--line); padding: clamp(20px, 3vw, 36px); }
.contact__form p { margin: 0 0 16px; }
.contact__form label { display: block; font-size: 13px; margin-bottom: 4px; color: var(--muted); }
.contact__form input[type="text"], .contact__form input[type="email"], .contact__form textarea { width: 100%; padding: 11px 13px; border: 1px solid var(--line); background: var(--paper); font: inherit; border-radius: 2px; }
.notice { padding: 12px 14px; margin: 0 0 18px; border-left: 3px solid var(--camel); background: var(--cream); font-size: 14px; }
.notice--err { border-color: #b3483a; }
.steps-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 900px; margin: 0 auto 36px; text-align: center; }
.steps-row li { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 10px; background: var(--cream); color: var(--camel); border-radius: 4px; }
.steps-row strong { color: var(--ink); font: 500 18px var(--serif); }
.entry__body h2, .entry__body h3 { margin-top: 1.4em; }

/* ---------- Koszyk, zamówienie ---------- */
.woocommerce-cart .entry__body, .woocommerce-checkout .entry__body, .woocommerce-account .entry__body { max-width: none; }
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 0; border-collapse: collapse; background: #fff; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--line); padding: 14px; }
.woocommerce table.shop_table th { font: 500 13px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.woocommerce-cart-form .product-thumbnail img { width: 72px; height: 90px; object-fit: cover; }
.woocommerce a.remove { color: var(--muted) !important; }
.woocommerce a.remove:hover { background: var(--rose) !important; color: #fff !important; }
.woocommerce .quantity .qty { padding: 9px; border: 1px solid var(--line); background: #fff; width: 64px; }
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 440px; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { font-size: 26px; }
.woocommerce #coupon_code { padding: 10px; border: 1px solid var(--line); background: #fff; min-width: 140px; }
.wc-proceed-to-checkout a.checkout-button { background: var(--navy) !important; font-size: 14px !important; letter-spacing: .06em; text-transform: uppercase; }

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text, .select2-container--default .select2-selection--single {
	padding: 11px 13px; border: 1px solid var(--line); background: #fff; border-radius: 2px; font: inherit; min-height: 44px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 22px; padding-left: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.woocommerce form .form-row label { font-size: 13px; color: var(--muted); margin-bottom: 4px; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0 clamp(24px, 4vw, 56px); align-items: start; }
.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; }
.woocommerce-checkout form.checkout > #order_review { grid-column: 2; grid-row: 2; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2, .woocommerce-page .col2-set .col-1, .woocommerce-page .col2-set .col-2 { float: none !important; width: 100% !important; }
.woocommerce-checkout #payment { background: var(--cream); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #place_order { background: var(--navy); width: 100%; padding: 16px; text-transform: uppercase; letter-spacing: .06em; }

/* ---------- Panel użytkownika (Moje konto) ---------- */
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 880px; margin: 0 auto; }
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { float: none; width: 100%; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { background: #fff; border: 1px solid var(--line); border-radius: 0; padding: 26px; margin: 0; }
.woocommerce-account h2 { font-size: 28px; }
.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 250px 1fr; gap: clamp(24px, 4vw, 48px); align-items: start; }
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; }
.woocommerce-MyAccount-navigation ul { background: #fff; border: 1px solid var(--line); padding: 8px 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 20px; font-size: 14px; border-left: 3px solid transparent; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--cream); border-left-color: var(--camel); color: var(--ink); }
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--muted); }
.woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--line); padding: clamp(18px, 3vw, 34px); }
.woocommerce-account .woocommerce-Address { margin-bottom: 18px; }

/* ---------- Responsywność v1.1 ---------- */
@media (max-width: 960px) {
	.mega__inner { grid-template-columns: repeat(2, 1fr); }
	.usp { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	.hero__frame { border-width: 5px; }
	.hero__frame::after { inset: 8px; }
	.hero__media { aspect-ratio: 4 / 3; }
	.dd__panel { display: none; }
	.mega__panel { position: static; box-shadow: none !important; }
	.mega:hover .mega__panel { max-height: 0; opacity: 0; visibility: hidden; }
	.mega.is-open .mega__panel { max-height: 700px; opacity: 1; visibility: visible; }
	.mega__inner { grid-template-columns: 1fr; padding: 8px 14px 14px; }
	.mega__toggle { display: flex !important; justify-content: space-between; align-items: center; }
	.contact, .woocommerce-checkout form.checkout, .woocommerce-account .u-columns, .woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout > #customer_details, .woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 1; grid-row: auto; }
	.steps-row { grid-template-columns: repeat(2, 1fr); }
	.usp { grid-template-columns: 1fr; }
}


/* v1.2 – widoczne konto i koszyk również na telefonach */
.site-header__side--right { gap: 6px; }
.site-header__side--right .icon-link { flex: 0 0 40px; }
.site-header__side--right .icon-link .icon { width: 23px; height: 23px; }
.dd__toggle-open > .dd__panel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
@media (max-width: 760px) {
  .site-header__side--right { gap: 2px; }
  .site-header__side--right .icon-link { width: 38px; height: 40px; }
  .dd__panel { display: block; position: fixed; top: 68px; right: 10px; left: auto; width: min(340px, calc(100vw - 20px)); max-width: calc(100vw - 20px); max-height: calc(100dvh - 90px); overflow-y: auto; padding: 16px; opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; }
  .dd__toggle-open > .dd__panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
  .dd__panel::before { display: none; }
  .dd__panel--cart { width: min(340px, calc(100vw - 20px)); }
}


/* Koszyk: widoczna ikona niezależnie od stanu WooCommerce. */
.site-header__side--right .dd--cart { display: block !important; flex: 0 0 40px; min-width: 40px; }
.site-header__side--right .icon-link--cart { display: inline-flex !important; visibility: visible !important; opacity: 1 !important; color: var(--ink); }
.site-header__side--right .icon-link--cart > .icon { display: block !important; width: 23px; height: 23px; flex: 0 0 23px; }
.site-header__side--right .icon-link--cart:hover { color: var(--camel); }
@media (max-width: 760px) { .site-header__side--right .dd--cart { flex-basis: 38px; min-width: 38px; } }

/* Menu: płynne wejście, podkreślenie i kategorie w formie harmonijki */
.primary-nav__list > li > a { position: relative; transition: color .22s ease, letter-spacing .22s ease; }
.primary-nav__list > li > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 7px; height: 1px; background: var(--camel); transition: right .28s ease; }
.primary-nav__list > li > a:hover::after, .primary-nav__list > li > a:focus-visible::after { right: 0; }
.primary-nav__list > li > a:hover { letter-spacing: .15em; }
.mega__panel { transform: translateY(8px); transition: max-height .42s ease, opacity .28s ease, transform .32s ease, visibility 0s linear .42s, border-color .3s; }
.mega:hover .mega__panel, .mega:focus-within .mega__panel, .mega.is-open .mega__panel { transform: translateY(0); }
.mega__inner--accordion { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px 22px; }
.category-accordion { border: 1px solid var(--line); background: #fff; border-radius: 3px; overflow: hidden; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.category-accordion:hover { border-color: var(--camel); box-shadow: 0 8px 22px rgba(40,28,18,.07); transform: translateY(-2px); }
.category-accordion__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.category-accordion__link { flex: 1; padding: 16px 18px !important; font: 500 21px/1.2 var(--serif) !important; letter-spacing: 0 !important; text-transform: none !important; border: 0 !important; }
.category-accordion__toggle { width: 46px; min-height: 52px; border: 0; background: transparent; color: var(--navy); cursor: pointer; display: grid; place-items: center; }
.category-accordion__toggle span, .category-accordion__toggle span::after { display: block; width: 14px; height: 1px; background: currentColor; transition: transform .25s ease; content: ""; }
.category-accordion__toggle span::after { transform: rotate(90deg); }
.category-accordion.is-open .category-accordion__toggle span::after { transform: rotate(0); }
.category-accordion__panel { display: grid; grid-template-rows: 1fr; padding: 0 18px 12px; animation: fransiAccordionIn .24s ease both; }
.category-accordion__panel[hidden] { display: none; }
.category-accordion__panel a { display: flex; justify-content: space-between; padding: 10px 0 !important; border-top: 1px solid var(--line); font-size: 13px !important; letter-spacing: .04em !important; text-transform: none !important; transition: color .2s ease, padding-left .2s ease; }
.category-accordion__panel a:hover { color: var(--camel); padding-left: 5px !important; }
@keyframes fransiAccordionIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 760px) { .mega__inner--accordion { grid-template-columns: 1fr; gap: 8px; } .category-accordion:hover { transform: none; } .category-accordion__link { padding: 14px 14px !important; } }
@media (prefers-reduced-motion: reduce) { .primary-nav__list > li > a, .primary-nav__list > li > a::after, .mega__panel, .category-accordion, .category-accordion__toggle span, .category-accordion__toggle span::after { transition: none !important; } .category-accordion__panel { animation: none; } }


/* Dostępna, klikana harmonijka dla własnego menu WordPressa. */
.primary-nav__list > li.fransi-accordion-item { display: flex; flex-wrap: wrap; align-items: center; }
.primary-nav__list > li.fransi-accordion-item > a { flex: 0 1 auto; }
.fransi-submenu-toggle { width: 30px; height: 42px; display: inline-grid; place-items: center; border: 0; background: transparent; color: var(--navy); cursor: pointer; }
.fransi-submenu-toggle span, .fransi-submenu-toggle span::after { content: ""; display: block; width: 10px; height: 1px; background: currentColor; transition: transform .25s ease; }
.fransi-submenu-toggle span::after { transform: rotate(90deg); }
.fransi-submenu-open > .fransi-submenu-toggle span::after { transform: rotate(0); }
.primary-nav__list > li.fransi-accordion-item > .sub-menu { position: static; display: block; flex: 0 0 100%; width: 100%; min-width: 0; max-height: 0; overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-5px); padding: 0 16px; border: 0; box-shadow: none; transition: max-height .32s ease, opacity .25s ease, transform .25s ease, padding .25s ease, visibility 0s linear .32s; }
.primary-nav__list > li.fransi-accordion-item.fransi-submenu-open > .sub-menu { max-height: 320px; opacity: 1; visibility: visible; transform: none; padding: 4px 16px 12px; transition-delay: 0s; }
.primary-nav__list > li.fransi-accordion-item > .sub-menu > li > a { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
@media (max-width: 760px) {
 .primary-nav__list > li.fransi-accordion-item { display: flex; }
 .primary-nav__list > li.fransi-accordion-item > a { flex: 1 1 auto; width: auto; }
 .fransi-submenu-toggle { flex: 0 0 42px; }
 .primary-nav__list > li.fransi-accordion-item > .sub-menu { order: 3; }
}
@media (prefers-reduced-motion: reduce) { .fransi-submenu-toggle span, .fransi-submenu-toggle span::after, .primary-nav__list > li.fransi-accordion-item > .sub-menu { transition: none !important; } }


/* v1.0.2: reliably display the categories dropdown appended to custom menus. */
.primary-nav__list > .fransi-categories-menu { position: relative; }
.primary-nav__list > .fransi-categories-menu > .fransi-categories-trigger { appearance: none; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; padding: 12px 0; text-transform: inherit; letter-spacing: inherit; }
.primary-nav__list > .fransi-categories-menu > .mega__panel { z-index: 1000; }
.primary-nav__list > .fransi-categories-menu .category-accordion__panel[hidden] { display: none !important; }
.primary-nav__list > .fransi-categories-menu .category-accordion__panel:not([hidden]) { display: block !important; }
@media (max-width: 760px) {
 .primary-nav__list > .fransi-categories-menu > .fransi-categories-trigger { width: 100%; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid var(--line); }
 .primary-nav__list > .fransi-categories-menu > .mega__panel { width: 100%; }
 .primary-nav__list > .fransi-categories-menu .mega__inner--accordion { display: grid; grid-template-columns: 1fr; }
}


/* v1.0.3: panel kategorii przy istniejącej pozycji menu, bez wąskiego dropdownu */
.primary-nav__list > li.fransi-categories-menu { position: relative; }
.primary-nav__list > li.fransi-categories-menu > .mega__panel { left: 50%; right: auto; width: min(560px, calc(100vw - 32px)); min-width: 420px; transform: translate(-50%, 8px); z-index: 1000; }
.primary-nav__list > li.fransi-categories-menu:hover > .mega__panel,
.primary-nav__list > li.fransi-categories-menu:focus-within > .mega__panel,
.primary-nav__list > li.fransi-categories-menu.is-open > .mega__panel { transform: translate(-50%, 0); }
.primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px; }
@media (max-width: 760px) { .primary-nav__list > li.fransi-categories-menu > .mega__panel { left: 0; width: 100%; min-width: 0; transform: translateY(8px); } .primary-nav__list > li.fransi-categories-menu.is-open > .mega__panel { transform: translateY(0); } .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns: 1fr; } }

/* v1.0.4: spójna typografia menu i pionowy układ kategorii */
.primary-nav__list > li.fransi-categories-menu .mega__inner--accordion {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  padding: 18px;
}
.primary-nav__list > li.fransi-categories-menu .category-accordion__link {
  font-family: var(--sans, inherit) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--ink, #262626) !important;
  padding: 14px 16px !important;
}
.primary-nav__list > li.fransi-categories-menu .category-accordion__panel a {
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.primary-nav__list > li.fransi-categories-menu .category-accordion__toggle {
  min-height: 46px;
}
@media (max-width: 760px) {
  .primary-nav__list > li.fransi-categories-menu > .mega__panel { left: 0; right: 0; width: 100%; min-width: 0; }
  .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns: minmax(0, 1fr); padding: 12px; }
}


/* v1.0.5: use exactly the primary navigation typography for category menu and accordion labels. */
.primary-nav__list > li > a,
.primary-nav__list > li.fransi-categories-menu > .fransi-categories-trigger,
.primary-nav__list > li.fransi-categories-menu .category-accordion__link,
.primary-nav__list > li.fransi-categories-menu .category-accordion__panel a {
  font-family: var(--sans, "Jost", "Helvetica Neue", Arial, sans-serif) !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-style: normal !important;
}
.primary-nav__list > li.fransi-categories-menu > .fransi-categories-trigger {
  padding: 12px 2px 14px !important;
}
.primary-nav__list > li.fransi-categories-menu .category-accordion__link {
  padding: 12px 16px !important;
}
.primary-nav__list > li.fransi-categories-menu .category-accordion__panel a {
  font-size: 12.5px !important;
}


/* v1.0.6: pojedyncza złota ramka hero oraz niebieskie logo Fransi w stopce */
.hero__frame { border-bottom: 0 !important; box-shadow: 0 10px 24px rgba(70, 48, 12, .08) !important; }
.hero__frame::after { border-bottom: 1px solid rgba(236, 210, 130, .95) !important; }
.hero__media { border: 0 !important; outline: 0 !important; }
.site-footer__brand { display: flex; justify-content: center; padding: 30px 20px 0; }
.site-footer__brand a { display: inline-flex; align-items: center; justify-content: center; }
.site-footer__brand img { display: block; width: 100px; height: auto; max-height: 100px; object-fit: contain; }
.primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns: minmax(0, 1fr) !important; }
.primary-nav__list > li.fransi-categories-menu .category-accordion { width: 100%; }

/* v1.0.7: niebieskie logo przeniesione do górnej części nagłówka */
.brand { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; }
.brand__signature { display: flex; align-items: center; justify-content: center; gap: 30px; max-width: 100%; }
.brand__blue-mark { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; margin: 0; }
.brand__blue-mark img { display: block; width: 140px; height: 140px; max-height: none; object-fit: contain; }
.brand__motto { display: inline-block; color: var(--ink); font: 500 12px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; white-space: nowrap; }
.brand__motto i { color: #168bd2; font-style: normal; padding: 0 3px; }
.site-footer__brand { display: none !important; }
.brand__motto { margin-left: 0; }
@media (max-width: 640px) { .brand__signature { gap: 18px; } .brand__blue-mark img { width: 100px; height: 100px; } .brand__motto { font-size: 9px; letter-spacing: .08em; white-space: normal; max-width: 150px; text-align: left; } }

/* v1.0.8: logo po lewej, hasło wyśrodkowane względem całej strony */
.site-header .brand { width: 100%; min-width: 0; }
.site-header .brand__signature { position: relative; display: block; width: 100%; max-width: none; height: 140px; }
.site-header .brand__blue-mark { position: absolute; left: max(24px, calc((100vw - 1200px) / 2)); top: 50%; transform: translateY(-50%); }
.site-header .brand__motto { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; text-align: center; }
@media (max-width: 640px) {
  .site-header .brand__signature { height: 100px; }
  .site-header .brand__blue-mark { left: 12px; }
  .site-header .brand__blue-mark img { width: 76px; height: 76px; }
  .site-header .brand__motto { left: 58%; max-width: 56vw; font-size: 8px; letter-spacing: .04em; }
}


/* v1.0.9: naglowek z osobnymi strefami, bez nachodzenia ikon na haslo */
.site-header__bar { position: relative; display: block; min-height: 156px; padding: 8px 20px 6px; }
.site-header .brand { display: block; width: 100%; min-width: 0; margin: 0; }
.site-header .brand__signature { position: relative; display: block; width: 100%; height: 140px; }
.site-header .brand__blue-mark { position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 1; }
.site-header .brand__motto { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; text-align: center; z-index: 1; }
.site-header .site-header__side--left { position: absolute; left: 20px; top: 8px; z-index: 3; }
.site-header .site-header__side--right { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); z-index: 4; background: #fff; padding-left: 10px; }
@media (max-width: 760px) {
  .site-header__bar { min-height: 116px; padding: 8px 12px 6px; }
  .site-header .brand__signature { height: 100px; }
  .site-header .brand__blue-mark { left: 0; }
  .site-header .brand__blue-mark img { width: 76px; height: 76px; }
  .site-header .brand__motto { left: 50%; max-width: calc(100vw - 190px); white-space: normal; font-size: 8px; letter-spacing: .04em; }
  .site-header .site-header__side--left { left: 12px; top: 2px; }
  .site-header .site-header__side--right { right: 8px; top: 50%; gap: 0; padding-left: 4px; }
  .site-header__side--right .icon-link { width: 34px; height: 38px; }
}

/* v1.1.0: eleganckie złote hasło marki */
.site-header .brand__motto {
  font-family: 'Palatino Linotype', 'Book Antiqua', Georgia, serif;
  font-size: 17px;
  font-weight: 600;
  font-style: italic;
  letter-spacing: .12em;
  line-height: 1.35;
  color: #b08a32;
  text-shadow: 0 1px 0 rgba(255,255,255,.8), 0 1px 5px rgba(139,100,24,.12);
}
.site-header .brand__motto i {
  color: #d0ad55;
  padding: 0 7px;
  font-style: normal;
}
@media (max-width: 760px) {
  .site-header .brand__motto { font-size: 10px; letter-spacing: .04em; }
  .site-header .brand__motto i { padding: 0 2px; }
}


/* v1.2.0 – delikatny butik: krem, piaskowy beż i szampańskie złoto */
:root {
  --paper: #fcfaf6;
  --cream: #f5efe6;
  --sand: #e8dccb;
  --camel: #b49a6a;
  --rose: #c9ad91;
  --navy: #75634c;
  --ink: #302a24;
  --muted: #82766a;
  --line: #e7ddcf;
}
body { background: var(--paper); }
.site-header { background: rgba(252,250,246,.97); border-bottom-color: #e9dfd1; }
.primary-nav__list .current-menu-item > a,
.primary-nav__list a:hover { border-bottom-color: #b49a6a; color: #8e7445; }
.site-header .brand__motto { color: #a8894e; }
.site-header .brand__motto i { color: #c8aa69; }
.icon-link:hover, .burger:hover { color: #a8894e; }
.cart-count { background: #b49a6a; color: #fff; }
.site-search input[type="submit"], .search-form input[type="submit"] { background: #75634c; }
.site-search input[type="submit"]:hover, .search-form input[type="submit"]:hover { background: #a8894e; }

/* Krótki pasek marki pod banerem */
.fransi-promise {
  max-width: var(--max); margin: 0 auto; padding: 21px 24px;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
  border-bottom: 1px solid var(--line); color: #6e6254;
}
.fransi-promise__item { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 11px; letter-spacing: .13em; text-transform: uppercase; text-align: center; }
.fransi-promise__ornament { color: #b49a6a; font-size: 18px; line-height: 1; }
.fransi-intro { max-width: 760px; margin: 0 auto; padding: clamp(42px, 6vw, 70px) 24px 12px; text-align: center; }
.fransi-eyebrow { margin: 0 0 12px; color: #a18450; font-size: 10px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; }
.fransi-intro h1 { margin: 0 0 12px; color: #44382b; font: 400 clamp(30px, 4vw, 46px)/1.1 var(--serif); }
.fransi-intro > p:last-child { max-width: 570px; margin: 0 auto; color: var(--muted); font-size: 14px; line-height: 1.8; }
.fransi-section-heading { text-align: center; margin: 0 0 28px; }
.fransi-section-heading h2 { margin: 0; color: #44382b; font: 400 clamp(28px, 3.4vw, 38px)/1.15 var(--serif); }
.fransi-heading-line { display: block; width: 46px; height: 1px; margin: 17px auto 0; background: #b49a6a; }
.section__title { color: #44382b; font-size: clamp(28px, 3.2vw, 36px); }
.tile a { background: #e9dfd1; }
.tile a::after { background: linear-gradient(to top, rgba(39,30,21,.48), rgba(39,30,21,.03) 72%); }
.tile__label { text-shadow: 0 2px 12px rgba(0,0,0,.2); }
.pcard__img { background: #f0e8dd; }
.pcard__name { color: #44382b; transition: color .2s ease; }
.pcard:hover .pcard__name { color: #a18450; }
.pcard__price, .woocommerce .price { color: #776b5d !important; }
.rail { scrollbar-color: #cdbb9c transparent; }
.hero__frame { border-image: linear-gradient(135deg, #b49a6a, #ead9ad 25%, #c7ae78 52%, #f4e8c9 76%, #b49a6a) 1; box-shadow: 0 12px 30px rgba(80,60,30,.10) !important; }
.hero__frame::after { border-color: rgba(235,218,176,.9) !important; }
.insta { background: #f5efe6; }
.site-footer { background: #f5efe6; }
.btn, .woocommerce a.btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit { background: #75634c; }
.btn:hover, .woocommerce a.btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover { background: #a18450; }
.newsletter__form button, .newsletter__form input[type="submit"] { background: #75634c; }
.newsletter__form button:hover, .newsletter__form input[type="submit"]:hover { background: #a18450; }
.woocommerce-message, .woocommerce-info { border-top-color: #b49a6a; }
.woocommerce-message::before, .woocommerce-info::before { color: #a18450; }
@media (max-width: 760px) {
  .fransi-promise { grid-template-columns: 1fr; gap: 10px; padding: 18px 20px; }
  .fransi-promise__item { font-size: 10px; }
  .fransi-intro { padding: 36px 22px 8px; }
  .fransi-intro h1 { font-size: 32px; }
  .fransi-intro > p:last-child { font-size: 13px; }
  .fransi-section-heading { margin-bottom: 20px; }
}


/* v1.3.1 – wyszukiwarka w osobnym wierszu, bez nachodzenia na menu */
.site-header { background: #fcfaf6; }
.site-header__bar { min-height: 198px; padding-bottom: 6px; }
.site-header .site-header__side--right {
  background: transparent !important;
  padding-left: 0 !important;
  gap: 7px;
}
.site-header .site-header__side--right .icon-link,
.site-header .site-header__side--right .icon-link--cart,
.site-header .site-header__side--right .icon-link--account {
  background: transparent !important;
  color: #75634c !important;
  border: 0;
  box-shadow: none;
}
.site-header .site-header__side--right .icon-link:hover,
.site-header .site-header__side--right .icon-link--cart:hover,
.site-header .site-header__side--right .icon-link--account:hover { color: #a8894e !important; }
.site-header .site-search.site-search--inline {
  display: block !important;
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  transform: none;
  width: min(440px, calc(100% - 300px));
  max-width: 440px;
  margin: 0 auto 14px;
  padding: 0;
  z-index: 2;
}
.site-header .site-search.site-search--inline[hidden] { display: block !important; }
.site-header .site-search.site-search--inline form { display: flex; gap: 0; width: 100%; }
.site-header .site-search.site-search--inline input[type="search"] {
  min-width: 0; height: 38px; padding: 8px 14px;
  border: 1px solid #dfd2c0; border-right: 0;
  border-radius: 22px 0 0 22px; background: #fffdf9;
  color: #302a24; font-size: 13px;
}
.site-header .site-search.site-search--inline input[type="submit"] {
  height: 38px; padding: 0 17px; border-radius: 0 22px 22px 0;
  background: #75634c; color: #fff; font-size: 12px;
}
.site-header .site-search.site-search--inline input[type="submit"]:hover { background: #a8894e; }
@media (max-width: 760px) {
  .site-header__bar { min-height: 158px; padding-bottom: 6px; }
  .site-header .site-search.site-search--inline {
    width: calc(100% - 32px); max-width: 440px; margin-bottom: 12px;
  }
  .site-header .site-search.site-search--inline input[type="search"] { height: 35px; font-size: 12px; }
  .site-header .site-search.site-search--inline input[type="submit"] { height: 35px; padding: 0 14px; }
  .site-header .site-header__side--right { right: 8px; gap: 0; }
}

/* v1.3.2 – wyszukiwarka w miejscu lupy, obok konta i koszyka */
.site-header__bar { min-height: 156px; }
.site-header .site-header__side--right { display:flex; align-items:center; gap:8px; }
.site-header .site-header__side--right .site-search.site-search--inline {
  display:block !important; position:relative; inset:auto; transform:none;
  width:220px; max-width:220px; margin:0; padding:0; z-index:3; flex:0 1 220px;
}
.site-header .site-search.site-search--inline form { display:flex; width:100%; gap:0; margin:0; }
.site-header .site-search.site-search--inline input[type="search"] {
  width:100%; min-width:0; height:38px; padding:7px 12px;
  border:1px solid #dfd2c0; border-right:0; border-radius:22px 0 0 22px;
  background:#fffdf9; color:#302a24; font-size:12px;
}
.site-header .site-search.site-search--inline input[type="submit"] {
  height:38px; padding:0 13px; white-space:nowrap; border-radius:0 22px 22px 0;
  background:#75634c; color:#fff; font-size:11px;
}
.site-header .site-header__side--right .icon-link,
.site-header .site-header__side--right .icon-link--cart,
.site-header .site-header__side--right .icon-link--account {
  flex:0 0 36px; width:36px; height:38px; background:transparent !important;
  color:#75634c !important; border:0; box-shadow:none;
}
.site-header .site-header__side--right .icon-link:hover { color:#a8894e !important; }
@media (max-width:760px) {
 .site-header__bar { min-height:116px; }
 .site-header .site-header__side--right { gap:2px; }
 .site-header .site-header__side--right .site-search.site-search--inline { width:clamp(118px, 29vw, 180px); max-width:none; flex-basis:clamp(118px, 29vw, 180px); }
 .site-header .site-search.site-search--inline input[type="search"] { height:34px; padding:6px 8px; font-size:11px; }
 .site-header .site-search.site-search--inline input[type="submit"] { height:34px; padding:0 8px; font-size:10px; }
 .site-header .site-header__side--right .icon-link,
 .site-header .site-header__side--right .icon-link--cart,
 .site-header .site-header__side--right .icon-link--account { flex-basis:30px; width:30px; height:34px; }
}

/* v1.3.3 – wymuszenie widoczności konta i koszyka obok wyszukiwarki */
.site-header .site-header__side--right {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: max-content !important;
  overflow: visible !important;
  z-index: 20 !important;
}
.site-header .site-header__side--right .dd--account,
.site-header .site-header__side--right .dd--cart {
  display: block !important;
  position: relative !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.site-header .site-header__side--right .icon-link--account,
.site-header .site-header__side--right .icon-link--cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 38px !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #75634c !important;
}
.site-header .site-header__side--right .icon-link--account svg,
.site-header .site-header__side--right .icon-link--cart svg,
.site-header .site-header__side--right .icon-link--account .icon,
.site-header .site-header__side--right .icon-link--cart .icon {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.site-header .site-header__side--right .cart-count { z-index: 2 !important; }
@media (max-width: 760px) {
  .site-header .site-header__side--right { right: 8px !important; gap: 2px !important; }
  .site-header .site-header__side--right .dd--account,
  .site-header .site-header__side--right .dd--cart,
  .site-header .site-header__side--right .icon-link--account,
  .site-header .site-header__side--right .icon-link--cart { flex-basis: 30px !important; width: 30px !important; min-width: 30px !important; }
  .site-header .site-header__side--right .icon-link--account,
  .site-header .site-header__side--right .icon-link--cart { min-width: 30px !important; }
}

/* v1.3.4 – elegancka, złota oprawa menu inspirowana butikowym projektem Fransi */
@media (min-width: 761px) {
  .site-header {
    position: relative;
    padding-bottom: 16px;
    background: linear-gradient(180deg, #fcfaf6 0%, #f8f2e9 100%);
    border-bottom: 1px solid #dfc99f;
  }
  .site-header::after {
    content: "";
    position: absolute;
    left: max(20px, calc((100% - 1200px) / 2));
    right: max(20px, calc((100% - 1200px) / 2));
    bottom: 6px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #c7a15c 10%, #e7d6b2 50%, #c7a15c 90%, transparent);
    pointer-events: none;
  }
  .site-header__bar {
    border-bottom: 0;
  }
  .primary-nav {
    position: relative;
    z-index: 5;
    width: max-content;
    max-width: calc(100% - 40px);
    margin: 2px auto 12px;
    padding: 5px 14px;
    border: 1px solid #d8bd8a;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(246,237,221,.96));
    box-shadow: 0 5px 18px rgba(103, 78, 43, .09), inset 0 0 0 3px rgba(255,255,255,.7);
  }
  .primary-nav::before,
  .primary-nav::after {
    content: "✦";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #b28a45;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
  }
  .primary-nav::before { left: -20px; }
  .primary-nav::after { right: -20px; }
  .primary-nav__list {
    align-items: center;
    gap: 2px clamp(14px, 2.2vw, 32px);
  }
  .primary-nav__list a {
    position: relative;
    padding: 12px 12px 13px;
    color: #69543a;
    border: 0;
    border-radius: 999px;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
    white-space: nowrap;
  }
  .primary-nav__list .current-menu-item > a,
  .primary-nav__list .current_page_item > a {
    color: #6d5128;
    background: #f0e4cf;
    box-shadow: inset 0 -2px 0 #b68b42;
  }
  .primary-nav__list a:hover,
  .primary-nav__list a:focus-visible {
    color: #8c682e;
    background: #f5ead8;
    border: 0;
    transform: translateY(-1px);
  }
  .primary-nav__list .sub-menu {
    border: 1px solid #d8bd8a;
    border-radius: 12px;
    background: #fffdf9;
    box-shadow: 0 12px 28px rgba(75, 55, 30, .13);
    overflow: hidden;
  }
  .primary-nav__list .sub-menu a {
    border-radius: 0;
    padding: 12px 16px;
  }
}
@media (max-width: 760px) {
  .site-header { border-bottom: 1px solid #d8bd8a; }
  .primary-nav { border-top: 1px solid #e1d0b0; background: #fbf7f0; }
  .primary-nav.is-open { padding: 8px 0; }
  .primary-nav__list a { color: #69543a; }
}

/* v1.3.5 – bez podkreślenia przy najechaniu na pozycje menu */
@media (min-width: 761px) {
  .primary-nav__list > li > a,
  .primary-nav__list > li > a:hover,
  .primary-nav__list > li > a:focus,
  .primary-nav__list > li > a:focus-visible,
  .primary-nav__list > li > a:active {
    border-bottom: 0 !important;
    text-decoration: none !important;
  }
  .primary-nav__list > li > a::before,
  .primary-nav__list > li > a::after {
    text-decoration: none !important;
  }
}

/* v1.3.6 – poprawka menu: jedna aktywna pozycja, bez kreski przy hover */
.primary-nav .primary-nav__list > li > a,
.primary-nav .primary-nav__list > li > a:hover,
.primary-nav .primary-nav__list > li > a:focus,
.primary-nav .primary-nav__list > li > a:focus-visible,
.primary-nav .primary-nav__list > li > a:active {
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
}
.primary-nav .primary-nav__list > li > a::before,
.primary-nav .primary-nav__list > li > a::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
}
.primary-nav .primary-nav__list > li > a:hover,
.primary-nav .primary-nav__list > li > a:focus-visible {
  transform: none !important;
  box-shadow: none !important;
}
.primary-nav .primary-nav__list > li.current-menu-item > a,
.primary-nav .primary-nav__list > li.current_page_item > a {
  background: #f0e4cf !important;
  box-shadow: inset 0 -2px 0 #b68b42 !important;
  color: #6d5128 !important;
}
.primary-nav .primary-nav__list > li:not(.current-menu-item):not(.current_page_item) > a:hover,
.primary-nav .primary-nav__list > li:not(.current-menu-item):not(.current_page_item) > a:focus-visible {
  background: #f5ead8 !important;
  color: #8c682e !important;
}


/* ---------- Sklep: elegancki nagłówek katalogu ---------- */
.content--shop { max-width: var(--max); margin: 0 auto; padding: 24px 20px 64px; }
.fransi-shop-intro { position: relative; text-align: center; padding: clamp(28px, 5vw, 54px) 20px clamp(24px, 4vw, 42px); margin: 0 0 30px; border: 1px solid #d8c39e; outline: 1px solid rgba(216,195,158,.35); outline-offset: 5px; background: linear-gradient(135deg, #fffdf9, #f6efe4 55%, #fffdf9); }
.fransi-shop-intro::before, .fransi-shop-intro::after { content: ""; position: absolute; left: 22%; right: 22%; height: 1px; background: linear-gradient(90deg, transparent, #c4a56b, transparent); }
.fransi-shop-intro::before { top: 12px; }
.fransi-shop-intro::after { bottom: 12px; }
.fransi-shop-intro__eyebrow { margin: 0 0 8px; color: #a18450; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; }
.fransi-shop-intro h1 { margin: 0 0 10px; color: #514331; font-size: clamp(30px, 4vw, 44px); font-weight: 500; }
.fransi-shop-intro > p:not(.fransi-shop-intro__eyebrow) { max-width: 620px; margin: 0 auto; color: #807568; font-size: 15px; }
.fransi-shop-intro__ornament { display: block; margin-top: 12px; color: #b59a68; font-size: 14px; }
.content--shop .woocommerce-breadcrumb { color: var(--muted); font-size: 12px; margin-bottom: 18px; }
.content--shop .woocommerce-result-count { color: var(--muted); font-size: 13px; }
.content--shop .woocommerce-ordering select { border: 1px solid var(--line); background: #fffdf9; border-radius: 24px; padding: 10px 14px; color: var(--ink); font: inherit; }
.content--shop ul.products { margin-top: 20px; }
.content--shop ul.products li.product { padding: 10px 10px 16px; background: #fffdf9; border: 1px solid #eee5d8; transition: box-shadow .25s ease, transform .25s ease; }
.content--shop ul.products li.product:hover { box-shadow: 0 12px 28px rgba(94,72,43,.10); transform: translateY(-3px); }
.content--shop ul.products li.product img { background: #f4eee5; }
.content--shop ul.products li.product .woocommerce-loop-product__title { color: #514331; font-family: var(--serif); font-size: 20px; }
.content--shop ul.products li.product .button { border-radius: 24px; padding: 11px 16px; font-size: 12px; letter-spacing: .04em; }
.content--shop .woocommerce-pagination ul.page-numbers { border: 0; }
.content--shop .woocommerce-pagination .page-numbers li { border: 0; margin: 0 3px; }
.content--shop .woocommerce-pagination .page-numbers a, .content--shop .woocommerce-pagination .page-numbers span { border: 1px solid var(--line); border-radius: 50%; min-width: 38px; line-height: 36px; padding: 0; }
@media (max-width: 600px) { .content--shop { padding: 18px 14px 44px; } .fransi-shop-intro { padding-left: 14px; padding-right: 14px; } .fransi-shop-intro::before, .fransi-shop-intro::after { left: 12%; right: 12%; } }

/* v1.4.0 – sklep Fransi dopasowany do projektu katalogu: krem, złoto i zdjęcia w siatce */
.content--shop {
  --shop-ink: #604a32;
  --shop-gold: #b68b49;
  --shop-line: #eadbc4;
  width: min(100% - 48px, 1370px);
  max-width: 1370px;
  margin: 0 auto;
  padding: 36px 0 76px;
  color: var(--shop-ink);
}
.content--shop .fransi-shop-intro {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  min-height: 130px;
  margin: 0 0 24px;
  padding: 14px 2px 20px;
  text-align: left;
  border: 0;
  outline: 0;
  background: transparent;
}
.content--shop .fransi-shop-intro::before,
.content--shop .fransi-shop-intro::after,
.content--shop .fransi-shop-intro__ornament { display: none !important; }
.content--shop .fransi-shop-intro__title { align-self: flex-start; }
.content--shop .fransi-shop-intro__eyebrow {
  margin: 0 0 2px;
  color: #9b7843;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .34em;
}
.content--shop .fransi-shop-intro h1 {
  margin: 0;
  color: #755a38;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(42px, 4.1vw, 58px);
  font-style: italic;
  font-weight: 500;
  line-height: 1.05;
}
.content--shop .fransi-shop-intro__rule {
  display: block;
  width: 55px;
  height: 3px;
  margin-top: 15px;
  background: linear-gradient(90deg, #ad813d, #e1c18a);
}
.content--shop .fransi-shop-breadcrumb {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 18px 0 0;
  color: #8c7355;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 13px;
}
.content--shop .fransi-shop-breadcrumb a { color: inherit; text-decoration: none; }
.content--shop .fransi-shop-breadcrumb a:hover { color: #b18745; }
.content--shop .woocommerce-breadcrumb { display: none; }
.content--shop .woocommerce-notices-wrapper { margin-bottom: 14px; }
.content--shop .woocommerce-result-count {
  float: left;
  margin: 10px 0 16px;
  color: #927d62;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 12px;
}
.content--shop .woocommerce-ordering { margin: 0 0 16px; }
.content--shop .woocommerce-ordering select {
  min-width: 220px;
  padding: 11px 16px;
  border: 1px solid #e5d2b5;
  border-radius: 7px;
  background: rgba(255,253,249,.88);
  color: #816849;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 12px;
  box-shadow: none;
}
.content--shop ul.products {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 15px;
  clear: both;
  margin: 22px 0 0 !important;
  padding: 0;
}
.content--shop ul.products::before,
.content--shop ul.products::after { display: none !important; content: none !important; }
.content--shop ul.products li.product {
  display: flex;
  flex-direction: column;
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 6px 6px 14px;
  overflow: hidden;
  border: 1px solid #eadbc6;
  border-radius: 4px;
  background: rgba(255,253,249,.65);
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.content--shop ul.products li.product:hover {
  transform: none;
  border-color: #c9a56c;
  box-shadow: 0 8px 22px rgba(104,77,42,.08);
}
.content--shop ul.products li.product a img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  margin: 0 0 12px;
  background: #f3ece2;
}
.content--shop ul.products li.product .woocommerce-loop-product__title {
  padding: 0 7px;
  margin: 0 0 8px;
  color: #5c4530;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(15px, 1.15vw, 19px);
  font-weight: 500;
  line-height: 1.2;
}
.content--shop ul.products li.product .star-rating {
  margin: 0 7px 9px;
  color: #c59a54;
  font-size: 12px;
}
.content--shop ul.products li.product .price {
  display: block;
  margin: auto 7px 12px;
  color: #80582d;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 20px;
  font-weight: 600;
}
.content--shop ul.products li.product .price del { color: #a79a8b; font-size: 13px; font-weight: 400; }
.content--shop ul.products li.product .price ins { text-decoration: none; }
.content--shop ul.products li.product .button {
  align-self: stretch;
  margin: 0 5px;
  padding: 10px 8px;
  border: 1px solid #b88b48;
  border-radius: 24px;
  background: #f4e8d4;
  color: #7c5a2e;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .01em;
  text-align: center;
  box-shadow: none;
}
.content--shop ul.products li.product .button:hover,
.content--shop ul.products li.product .button:focus-visible { background: #e8d3b2; color: #5f4526; }
.content--shop ul.products li.product .onsale {
  top: 13px;
  left: 13px;
  right: auto;
  min-height: 0;
  margin: 0;
  padding: 5px 10px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 20px;
  background: #aa8958;
  color: #fffdf8;
  font-family: var(--sans, 'Jost', sans-serif);
  font-size: 10px;
  line-height: 1.2;
}
.content--shop .woocommerce-pagination { margin-top: 42px; }
.content--shop .woocommerce-pagination ul.page-numbers { display: flex; justify-content: center; gap: 8px; border: 0; }
.content--shop .woocommerce-pagination .page-numbers li { border: 0; margin: 0; }
.content--shop .woocommerce-pagination .page-numbers a,
.content--shop .woocommerce-pagination .page-numbers span {
  display: block;
  min-width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid #ead8bc;
  border-radius: 50%;
  color: #795e3b;
  line-height: 34px;
  text-align: center;
}
.content--shop .woocommerce-pagination .page-numbers .current { border-color: #bd985b; background: #bd985b; color: white; }
@media (max-width: 1200px) {
  .content--shop ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .content--shop { width: calc(100% - 28px); padding: 24px 0 48px; }
  .content--shop .fransi-shop-intro { min-height: 0; flex-direction: column; gap: 12px; margin-bottom: 18px; padding-top: 8px; }
  .content--shop .fransi-shop-breadcrumb { margin-top: 0; }
  .content--shop .woocommerce-result-count { float: none; margin-bottom: 10px; }
  .content--shop .woocommerce-ordering { float: none; }
  .content--shop .woocommerce-ordering select { width: 100%; }
  .content--shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px !important; }
  .content--shop ul.products li.product { padding: 5px 5px 10px; }
  .content--shop ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
  .content--shop ul.products li.product .price { font-size: 18px; }
  .content--shop ul.products li.product .button { font-size: 10px; padding: 9px 5px; }
}


/* v1.4.1 – układ zgodny z projektem Fransi: menu w jednym pasku i katalog na stronie głównej */
.site-header { background: #fbf8f2; border-bottom: 1px solid #d8bb82; box-shadow: 0 5px 18px rgba(101,75,39,.06); }
.site-header__bar { position: relative; max-width: 1460px; min-height: 142px; padding: 14px 24px; display: grid; grid-template-columns: 180px minmax(0,1fr) 320px; align-items: center; gap: 18px; }
.site-header__side--left { display:none; }
.brand { grid-column: 1; grid-row: 1; text-align:left; z-index:2; }
.brand__signature { height:auto !important; min-height:0; display:flex; align-items:center; }
.brand__blue-mark { position:static !important; display:block; }
.brand__blue-mark img { display:block; max-height:112px !important; width:auto; }
.brand__motto { display:none !important; }
.site-header__side--right { grid-column:3; grid-row:1; justify-content:flex-end; gap:8px; z-index:2; }
.site-header__side--right .site-search { display:block !important; max-width:220px; width:220px; margin:0; padding:0; }
.site-header__side--right .site-search form { gap:0; }
.site-header__side--right .site-search input[type="search"], .site-header__side--right .search-form input[type="search"] { min-width:0; width:100%; padding:11px 13px; border:1px solid #dfc99f; background:#fffdf9; border-radius:24px 0 0 24px; font-size:12px; }
.site-header__side--right .site-search input[type="submit"], .site-header__side--right .search-form input[type="submit"] { padding:11px 13px; border-radius:0 24px 24px 0; background:#79664f; font-size:11px; }
.site-header__side--right .icon-link { color:#79664f; width:36px; height:40px; }
.site-header__side--right .icon-link .icon { width:22px; height:22px; }
.primary-nav { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:max-content; max-width:calc(100% - 550px); margin:0; padding:5px 9px; border:1px solid #d9b879; border-radius:40px; background:#fffdf8; box-shadow:0 3px 12px rgba(101,75,39,.08); z-index:3; }
.primary-nav__list { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:4px; }
.primary-nav__list > li > a { white-space:nowrap; border:0 !important; border-radius:26px; padding:13px 17px; font-size:11px; letter-spacing:.11em; color:#604c36; transition:background .2s ease,color .2s ease; }
.primary-nav__list > li > a::after { display:none !important; }
.primary-nav__list .current-menu-item > a, .primary-nav__list .current_page_item > a { background:#f1e5cf; color:#5f472e; box-shadow:inset 0 -2px 0 #c59b54; }
.primary-nav__list > li > a:hover, .primary-nav__list > li > a:focus-visible { background:#f5ecdd; color:#5f472e; letter-spacing:.11em; }
.fransi-home-shop { max-width:1460px; margin:0 auto; padding:46px 28px 70px; }
.fransi-home-shop .fransi-shop-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 28px; }
.fransi-home-shop .fransi-shop-intro__eyebrow { margin:0 0 3px; color:#9a7844; font-size:12px; letter-spacing:.36em; }
.fransi-home-shop .fransi-shop-intro h1 { margin:0; color:#765a37; font:italic 500 clamp(38px,4vw,54px)/1.05 Georgia,serif; }
.fransi-home-shop .fransi-shop-intro__rule { display:block; width:54px; height:2px; margin-top:16px; background:#bd985b; }
.fransi-home-shop .fransi-shop-breadcrumb { display:flex; gap:14px; padding-bottom:8px; color:#8c7354; font-size:13px; }
.fransi-home-shop ul.products { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px !important; margin:0 !important; }
.fransi-home-shop ul.products::before, .fransi-home-shop ul.products::after { display:none !important; }
.fransi-home-shop ul.products li.product { float:none !important; width:auto !important; margin:0 !important; padding:8px 8px 18px !important; border:1px solid #eadcc5; border-radius:3px; background:rgba(255,253,249,.72); box-sizing:border-box; }
.fransi-home-shop ul.products li.product a img { width:100%; aspect-ratio:3/4; object-fit:cover; margin:0 0 14px !important; border-radius:2px; }
.fransi-home-shop ul.products li.product .woocommerce-loop-product__title { padding:0 6px; font:500 17px/1.3 Georgia,serif; color:#514331; }
.fransi-home-shop ul.products li.product .price { padding:0 6px; color:#8a6232 !important; font:500 19px Georgia,serif; }
.fransi-home-shop ul.products li.product a.button { display:block; margin:12px 4px 0 !important; padding:11px 8px !important; border:1px solid #bd985b; border-radius:24px; background:#f3e8d5; color:#765a37; text-align:center; font-size:12px; font-weight:400; }
.fransi-home-shop ul.products li.product a.button:hover { background:#bd985b; color:#fff; }
.fransi-home-shop .woocommerce-pagination { margin-top:40px; }
.fransi-home-shop .woocommerce-pagination ul.page-numbers { display:flex; justify-content:center; gap:8px; border:0; }
.fransi-home-shop .woocommerce-pagination .page-numbers li { border:0; }
.fransi-home-shop .woocommerce-pagination .page-numbers a, .fransi-home-shop .woocommerce-pagination .page-numbers span { border:1px solid #e4d3b6; border-radius:50%; min-width:38px; line-height:36px; padding:0; text-align:center; }
.fransi-home-shop .woocommerce-pagination .page-numbers .current { background:#bd985b; color:#fff; border-color:#bd985b; }
@media(max-width:1200px) {
 .site-header__bar { grid-template-columns:130px minmax(0,1fr) 260px; gap:10px; min-height:122px; }
 .brand__blue-mark img { max-height:88px !important; }
 .primary-nav { max-width:calc(100% - 420px); }
 .primary-nav__list > li > a { padding:11px 10px; font-size:10px; }
 .site-header__side--right .site-search { width:170px; }
 .fransi-home-shop ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .site-header__bar { min-height:90px; padding:8px 14px; display:flex; justify-content:space-between; gap:10px; }
 .site-header__side--left { display:flex; }
 .brand { margin-right:auto; }
 .brand__blue-mark img { max-height:68px !important; }
 .site-header__side--right { gap:0; }
 .site-header__side--right .site-search { width:130px; }
 .site-header__side--right .site-search input[type="submit"], .site-header__side--right .search-form input[type="submit"] { font-size:0; width:34px; padding:10px 0; }
 .primary-nav { display:none; position:static; transform:none; width:auto; max-width:none; margin:0; padding:0; border:0; border-radius:0; box-shadow:none; background:#fffdf8; }
 .primary-nav.is-open { display:block; }
 .primary-nav__list { flex-direction:column; align-items:stretch; gap:0; }
 .primary-nav__list > li > a { padding:14px 20px; border-radius:0; border-bottom:1px solid #eadcc5 !important; }
 .fransi-home-shop { padding:30px 16px 48px; }
 .fransi-home-shop .fransi-shop-intro { align-items:flex-start; flex-direction:column; gap:14px; }
 .fransi-home-shop ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; }
 .fransi-home-shop ul.products li.product { padding:5px 5px 12px !important; }
 .fransi-home-shop ul.products li.product .woocommerce-loop-product__title { font-size:15px; }
 .fransi-home-shop ul.products li.product .price { font-size:16px; }
}


/* v1.4.2 – dopracowanie zgodne z makietą sklepu Fransi */
body { background:#fbf8f2; }
.site-header { background:#f8f3e9; }
.site-header:before { content:""; display:block; height:5px; background:linear-gradient(90deg,#f8f3e9,#d9bb82,#f8f3e9); }
.fransi-home-shop { position:relative; }
.fransi-home-shop:before { content:"✧"; position:absolute; top:-12px; left:50%; transform:translateX(-50%); color:#bd985b; background:#fbf8f2; padding:0 12px; font-size:22px; }
.fransi-home-shop .fransi-shop-intro { padding-top:6px; }
.fransi-home-shop ul.products li.product { box-shadow:0 2px 12px rgba(103,78,44,.035); transition:transform .22s ease, box-shadow .22s ease; }
.fransi-home-shop ul.products li.product:hover { transform:translateY(-3px); box-shadow:0 8px 22px rgba(103,78,44,.09); }
.fransi-home-shop ul.products li.product .star-rating { color:#bd985b; }
.fransi-home-shop .woocommerce-result-count { color:#8c7354; font-size:13px; }
.fransi-home-shop .woocommerce-ordering select { max-width:100%; border:1px solid #e4d3b6; border-radius:5px; background:#fffdf9; color:#765a37; padding:12px 14px; font:inherit; }
@media(min-width:1201px) { .fransi-home-shop ul.products { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:1200px) and (min-width:761px) { .fransi-home-shop ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .site-header__bar { grid-template-columns:minmax(70px,1fr) auto; } .site-header__side--right .site-search { width:min(38vw,160px); } .fransi-home-shop ul.products li.product a.button { font-size:11px; } }

/* v1.4.3 – dopracowanie widoku i zdjęć przykładowych */
.site-header__bar { min-height: 138px; padding-top: 14px; padding-bottom: 12px; }
.brand__signature { min-height: 112px; display:flex; align-items:center; justify-content:center; }
.brand__blue-mark { display:block; position:relative; }
.brand__blue-mark img { display:block; max-height:112px !important; width:auto; object-fit:contain; }
.fransi-home-shop ul.products li.product a img.fransi-demo-product-image { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; }
@media (min-width:1201px) {
 .site-header__bar { grid-template-columns: 170px minmax(200px,1fr) 390px; }
 .brand { justify-self:start; }
 .brand__signature { justify-content:flex-start; }
 .primary-nav { top:auto; bottom:10px; }
}
@media (max-width:760px) {
 .site-header__bar { min-height:100px; }
 .brand__signature { min-height:74px; }
 .brand__blue-mark img { max-height:74px !important; }
}


/* v1.4.4 — kremowo-złote menu butikowe z dekoracyjnymi liśćmi */
:root { --paper:#f8f4eb; --cream:#f2e7d4; --sand:#e7d2b0; --camel:#b58a49; --rose:#c5a16b; --navy:#7d5b32; --ink:#6f4d2b; --line:#e7d4b7; }
.site-header {
  position: sticky; isolation:isolate; overflow:visible; z-index:100;
  background:linear-gradient(180deg,#f8f4eb 0%,#f5eddf 100%);
  border-bottom:2px solid #c49a5b;
  box-shadow:0 5px 18px rgba(118,83,42,.09);
}
.site-header::before,.site-header::after {
  content:""; position:absolute; top:0; width:clamp(72px,9vw,138px); height:100%;
  background-repeat:no-repeat; background-size:contain; pointer-events:none; z-index:-1; opacity:.9;
}
.site-header::before { left:0; background-image:url("assets/img/leaves-left.png"); background-position:left top; }
.site-header::after { right:0; background-image:url("assets/img/leaves-right.png"); background-position:right top; }
.site-header__bar {
  position:relative; max-width:1500px; min-height:132px; margin:0 auto; padding:16px clamp(18px,3vw,44px) 14px;
  display:grid; grid-template-columns:minmax(130px,190px) minmax(410px,1fr) minmax(270px,370px);
  align-items:center; gap:clamp(12px,1.5vw,24px);
}
.site-header__side--left { display:none; }
.brand { justify-self:start; text-align:left; width:auto; z-index:1; }
.brand__signature { justify-content:flex-start; gap:0; }
.brand__blue-mark img { width:clamp(105px,9vw,138px); height:auto; max-height:none; }
.brand__motto { display:none; }
.primary-nav {
  display:block; min-width:0; max-width:none; margin:0; padding:0 10px;
  border:1px solid #dfbd86; border-radius:40px;
  background:rgba(250,246,238,.78);
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.42),0 2px 7px rgba(120,84,43,.035);
}
.primary-nav__list { min-height:54px; align-items:center; justify-content:space-evenly; flex-wrap:nowrap; gap:0; }
.primary-nav__list > li { flex:0 1 auto; }
.primary-nav__list > li + li { border-left:1px solid #e2c89f; }
.primary-nav__list a,
.primary-nav__list > li > a {
  position:relative; display:flex; align-items:center; justify-content:center; min-height:46px;
  padding:10px clamp(9px,1.1vw,17px); border:0 !important; border-radius:28px;
  color:#805c35; font-size:clamp(10px,.78vw,12px); letter-spacing:.15em; line-height:1.2;
  white-space:nowrap; transition:background-color .2s ease,color .2s ease;
}
.primary-nav__list > li > a::after { display:none !important; }
.primary-nav__list .current-menu-item > a,
.primary-nav__list .current_page_item > a,
.primary-nav__list .current-menu-ancestor > a { background:linear-gradient(180deg,#f0e1c8,#ead7b7); color:#704b25; box-shadow:inset 0 0 0 1px #dfc18f; }
.primary-nav__list > li > a:hover,.primary-nav__list > li > a:focus-visible { background:#f0e4d0; color:#68451f; letter-spacing:.15em; }
.site-header__side--right { justify-content:flex-end; gap:8px; min-width:0; }
.site-header__side--right .site-search { flex:1 1 auto; min-width:120px; max-width:none; margin:0; padding:0; }
.site-header__side--right .site-search form,.site-header__side--right .search-form { display:flex; align-items:center; gap:0; width:100%; border:1px solid #c69b5b; border-radius:28px; overflow:hidden; background:#fbf8f1; }
.site-header__side--right .site-search input[type="search"],.site-header__side--right .search-form input[type="search"] { min-width:0; width:100%; height:42px; padding:0 15px; border:0; outline:0; background:transparent; color:#765638; font:italic 14px var(--serif); }
.site-header__side--right .site-search input[type="submit"],.site-header__side--right .search-form input[type="submit"] { flex:0 0 42px; width:42px; height:42px; padding:0; border:0; border-radius:0; background:linear-gradient(135deg,#d4b477,#a77b3e); color:#fff; font-size:0; }
.site-header__side--right .site-search input[type="submit"]::after { content:"›"; }
.site-header__side--right .icon-link { flex:0 0 38px; width:38px; height:42px; color:#9b713b; background:transparent; border:0; }
.site-header__side--right .icon-link:hover { color:#68451f; background:rgba(224,197,151,.25); }
.site-header__side--right .dd--account { border-right:1px solid #e1c79e; padding-right:8px; }
.site-header__side--right .icon-link .icon { width:22px; height:22px; }
.site-header__side--right .cart-count { background:#b28a4c; color:#fff; }
.site-header__bar::after { content:"◆"; position:absolute; bottom:-10px; left:50%; transform:translateX(-50%); padding:0 7px; color:#b88c4a; background:#f5eddf; font-size:13px; line-height:1; z-index:2; }
@media (max-width:1100px) and (min-width:761px) {
 .site-header__bar { grid-template-columns:120px minmax(350px,1fr); gap:12px; padding-inline:20px; }
 .primary-nav { grid-column:2; grid-row:1; }
 .site-header__side--right { grid-column:1 / -1; grid-row:2; justify-self:center; width:min(600px,100%); }
 .site-header__bar { padding-bottom:18px; }
}
@media (max-width:760px) {
 .site-header { overflow:hidden; }
 .site-header::before,.site-header::after { width:76px; opacity:.5; }
 .site-header__bar { display:grid; grid-template-columns:42px minmax(0,1fr) auto; min-height:88px; gap:8px; padding:8px 12px 12px; }
 .site-header__side--left { display:flex; grid-column:1; grid-row:1; }
 .brand { grid-column:2; grid-row:1; justify-self:center; }
 .brand__blue-mark img { width:84px; height:auto; }
 .site-header__side--right { grid-column:3; grid-row:1; gap:2px; }
 .site-header__side--right .site-search { display:none; }
 .site-header__side--right .icon-link { width:34px; flex-basis:34px; }
 .site-header__side--right .dd--account { padding-right:2px; }
 .primary-nav { display:none; grid-column:1 / -1; grid-row:2; margin:0 12px 8px; padding:0; border-radius:18px; }
 .primary-nav.is-open { display:block; }
 .primary-nav__list { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .primary-nav__list > li + li { border-left:0; border-top:1px solid #e2c89f; }
 .primary-nav__list a,.primary-nav__list > li > a { justify-content:flex-start; min-height:42px; padding:12px 18px; font-size:12px; white-space:normal; }
 .site-header__bar::after { bottom:-7px; }
}

/* v1.4.5 — poprawka nagłówka według wzoru: logo nieucięte, liście w narożnikach */
.site-header { overflow:hidden !important; }
.site-header::before,
.site-header::after {
  top:0 !important; bottom:0 !important;
  width:clamp(110px,13vw,245px) !important;
  height:100% !important;
  background-size:auto 100% !important;
  background-repeat:no-repeat !important;
  opacity:.58 !important;
  z-index:0 !important;
}
.site-header__bar {
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(145px,190px) minmax(400px,1fr) minmax(300px,390px) !important;
  align-items:center !important;
  gap:clamp(12px,1.5vw,26px) !important;
  width:100% !important;
  max-width:1540px !important;
  min-height:142px !important;
  padding:14px clamp(24px,4vw,58px) 18px !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
  z-index:1 !important;
}
.site-header .brand {
  position:relative !important;
  left:auto !important; top:auto !important; transform:none !important;
  display:flex !important; grid-column:1 !important; grid-row:1 !important;
  justify-self:start !important; align-items:center !important;
  width:auto !important; min-width:0 !important; margin:0 !important;
  z-index:2 !important;
}
.site-header .brand__signature {
  position:relative !important; display:flex !important; align-items:center !important;
  justify-content:flex-start !important; min-height:0 !important; height:auto !important;
}
.site-header .brand__blue-mark {
  position:static !important; left:auto !important; top:auto !important;
  transform:none !important; display:block !important; margin:0 !important;
}
.site-header .brand__blue-mark img {
  display:block !important; width:clamp(100px,7.5vw,132px) !important;
  height:auto !important; max-height:116px !important; object-fit:contain !important;
}
.site-header .primary-nav {
  position:relative !important; inset:auto !important; transform:none !important;
  display:block !important; grid-column:2 !important; grid-row:1 !important;
  justify-self:stretch !important; width:100% !important; min-width:0 !important;
  max-width:none !important; margin:0 !important; padding:4px 8px !important;
  border:1px solid #dfc18f !important; border-radius:40px !important;
  background:rgba(250,246,238,.86) !important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.42),0 2px 8px rgba(120,84,43,.05) !important;
  box-sizing:border-box !important; z-index:2 !important;
}
.site-header .primary-nav__list { min-height:52px !important; display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-evenly !important; flex-wrap:nowrap !important; gap:0 !important; }
.site-header .primary-nav__list > li { flex:0 1 auto !important; min-width:0 !important; }
.site-header .primary-nav__list > li > a { min-height:44px !important; padding:10px clamp(8px,.9vw,15px) !important; font-size:clamp(9px,.72vw,12px) !important; letter-spacing:.12em !important; white-space:nowrap !important; text-decoration:none !important; }
.site-header .site-header__side--right {
  position:relative !important; grid-column:3 !important; grid-row:1 !important;
  display:flex !important; align-items:center !important; justify-self:end !important;
  width:100% !important; min-width:0 !important; gap:8px !important; z-index:2 !important;
}
.site-header .site-header__side--right .site-search { display:block !important; flex:1 1 220px !important; width:auto !important; min-width:140px !important; max-width:250px !important; }
.site-header .site-header__side--right .site-search form,
.site-header .site-header__side--right .search-form { display:flex !important; width:100% !important; min-width:0 !important; align-items:center !important; gap:0 !important; overflow:hidden !important; border:1px solid #c69b5b !important; border-radius:26px !important; background:#fbf8f1 !important; }
.site-header .site-header__side--right input[type="search"] { flex:1 1 auto !important; width:1% !important; min-width:0 !important; height:40px !important; padding:0 13px !important; border:0 !important; background:transparent !important; color:#765638 !important; font:italic 12px Georgia,serif !important; }
.site-header .site-header__side--right input[type="submit"],
.site-header .site-header__side--right button[type="submit"] { flex:0 0 38px !important; width:38px !important; min-width:38px !important; height:40px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:linear-gradient(135deg,#d4b477,#a77b3e) !important; color:transparent !important; font-size:0 !important; }
.site-header .site-header__side--right .icon-link { flex:0 0 34px !important; width:34px !important; height:40px !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#9b713b !important; }
.site-header .site-header__side--right .dd--account { border-right:1px solid #e1c79e !important; padding-right:7px !important; }
.site-header .site-header__bar::after { bottom:-7px !important; }
@media (max-width:1250px) and (min-width:761px) {
 .site-header__bar { grid-template-columns:130px minmax(320px,1fr) minmax(230px,300px) !important; padding-inline:20px !important; gap:12px !important; }
 .site-header .brand__blue-mark img { width:104px !important; }
 .site-header .primary-nav__list > li > a { padding-inline:7px !important; letter-spacing:.07em !important; }
 .site-header .site-header__side--right { gap:4px !important; }
 .site-header .site-header__side--right .site-search { min-width:110px !important; }
}
@media (max-width:760px) {
 .site-header { overflow:hidden !important; }
 .site-header::before,.site-header::after { width:76px !important; opacity:.32 !important; }
 .site-header__bar { display:grid !important; grid-template-columns:38px minmax(0,1fr) auto !important; min-height:96px !important; padding:8px 12px 12px !important; gap:8px !important; }
 .site-header .site-header__side--left { display:flex !important; grid-column:1 !important; grid-row:1 !important; }
 .site-header .brand { grid-column:2 !important; grid-row:1 !important; justify-self:center !important; }
 .site-header .brand__blue-mark img { width:78px !important; max-height:76px !important; }
 .site-header .site-header__side--right { grid-column:3 !important; grid-row:1 !important; width:auto !important; gap:2px !important; }
 .site-header .site-header__side--right .site-search { display:none !important; }
 .site-header .primary-nav { display:none !important; grid-column:1 / -1 !important; grid-row:2 !important; width:auto !important; margin:0 4px 4px !important; }
 .site-header .primary-nav.is-open { display:block !important; }
 .site-header .primary-nav__list { flex-direction:column !important; align-items:stretch !important; }
 .site-header .primary-nav__list > li + li { border-left:0 !important; border-top:1px solid #e2c89f !important; }
 .site-header .primary-nav__list > li > a { justify-content:flex-start !important; min-height:42px !important; padding:12px 18px !important; font-size:12px !important; }
}


/* v1.4.6 — precyzyjne dopasowanie nagłówka do referencji */
.site-header {
  position:relative !important;
  overflow:hidden !important;
  min-height:164px !important;
  background:linear-gradient(180deg,#fbf7ee 0%,#f4ecdc 100%) !important;
  border-bottom:2px solid #c6a16b !important;
  box-shadow:0 4px 12px rgba(112,78,38,.08) !important;
}
.site-header::before,.site-header::after {
  content:"" !important;
  position:absolute !important;
  top:0 !important; bottom:0 !important;
  width:145px !important; height:100% !important;
  background-repeat:no-repeat !important;
  background-size:145px 155px !important;
  opacity:.62 !important; pointer-events:none !important;
  z-index:0 !important;
}
.site-header::before { left:0 !important; right:auto !important; background-image:url("assets/img/leaves-left.png") !important; background-position:left center !important; }
.site-header::after { right:0 !important; left:auto !important; background-image:url("assets/img/leaves-right.png") !important; background-position:right center !important; }
.site-header .site-header__bar {
  display:grid !important;
  grid-template-columns:190px minmax(580px,700px) 390px !important;
  justify-content:start !important; align-items:center !important;
  column-gap:20px !important; row-gap:0 !important;
  width:100% !important; max-width:1640px !important;
  min-height:162px !important; margin:0 auto !important;
  padding:12px 20px 14px !important; box-sizing:border-box !important;
  position:relative !important; z-index:1 !important;
}
.site-header .site-header__side--left { display:none !important; }
.site-header .brand {
  grid-column:1 !important; grid-row:1 !important;
  justify-self:start !important; align-self:center !important;
  position:relative !important; left:auto !important; top:auto !important;
  width:150px !important; min-width:0 !important; margin:0 !important;
  text-align:left !important; transform:none !important; z-index:2 !important;
}
.site-header .brand__signature { display:flex !important; align-items:center !important; justify-content:flex-start !important; height:auto !important; min-height:0 !important; }
.site-header .brand__blue-mark { position:static !important; display:block !important; margin:0 !important; transform:none !important; }
.site-header .brand__blue-mark img { display:block !important; width:132px !important; max-width:132px !important; max-height:132px !important; height:auto !important; object-fit:contain !important; }
.site-header .brand__motto { display:none !important; }
.site-header .primary-nav {
  display:block !important; position:relative !important; inset:auto !important; transform:none !important;
  grid-column:2 !important; grid-row:1 !important; justify-self:stretch !important;
  width:100% !important; min-width:0 !important; max-width:700px !important;
  margin:0 !important; padding:4px 8px !important; box-sizing:border-box !important;
  border:1px solid #d8b77e !important; border-radius:38px !important;
  background:rgba(251,247,238,.88) !important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.55),0 2px 7px rgba(122,85,42,.04) !important;
  z-index:2 !important;
}
.site-header .primary-nav__list { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:space-evenly !important; gap:0 !important; min-height:52px !important; }
.site-header .primary-nav__list > li { flex:0 1 auto !important; min-width:0 !important; border-left:1px solid #e4cfaa !important; }
.site-header .primary-nav__list > li:first-child { border-left:0 !important; }
.site-header .primary-nav__list > li > a,
.site-header .primary-nav__list > li > button,
.site-header .primary-nav__list .mega__toggle {
  display:flex !important; align-items:center !important; justify-content:center !important;
  min-height:44px !important; padding:10px clamp(8px,.75vw,14px) !important;
  border:0 !important; border-radius:26px !important; background:transparent !important;
  color:#805c35 !important; font-family:var(--sans) !important;
  font-size:clamp(9px,.68vw,12px) !important; letter-spacing:.13em !important;
  line-height:1.2 !important; white-space:nowrap !important; text-decoration:none !important;
  box-shadow:none !important;
}
.site-header .primary-nav__list > li > a::after { display:none !important; }
.site-header .primary-nav__list .current-menu-item > a,
.site-header .primary-nav__list .current_page_item > a,
.site-header .primary-nav__list .current-menu-ancestor > a { background:#f0e2ca !important; box-shadow:inset 0 -2px 0 #b78b4d !important; color:#6f4d2b !important; }
.site-header .primary-nav__list > li > a:hover,
.site-header .primary-nav__list .mega__toggle:hover { background:#f3e8d6 !important; color:#6f4d2b !important; }
.site-header .site-header__side--right {
  grid-column:3 !important; grid-row:1 !important; display:flex !important;
  justify-self:start !important; align-items:center !important; justify-content:flex-start !important;
  width:390px !important; min-width:0 !important; gap:10px !important; margin:0 !important; z-index:2 !important;
}
.site-header .site-header__side--right .site-search { display:block !important; flex:0 0 250px !important; width:250px !important; min-width:250px !important; max-width:250px !important; padding:0 !important; margin:0 !important; }
.site-header .site-header__side--right .search-form { display:flex !important; align-items:center !important; gap:0 !important; width:100% !important; height:44px !important; padding:0 !important; margin:0 !important; overflow:hidden !important; border:1px solid #c69b5b !important; border-radius:25px !important; background:#fbf8f1 !important; box-shadow:none !important; }
.site-header .site-header__side--right .search-form input[type="search"] { flex:1 1 auto !important; width:1% !important; min-width:0 !important; height:42px !important; padding:0 14px !important; border:0 !important; outline:0 !important; background:transparent !important; color:#765638 !important; font:italic 13px Georgia,serif !important; box-shadow:none !important; }
.site-header .site-header__side--right .search-form .search-submit { display:flex !important; flex:0 0 40px !important; align-items:center !important; justify-content:center !important; width:40px !important; min-width:40px !important; height:42px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:linear-gradient(135deg,#d4b477,#a77b3e) !important; color:#fff !important; font-size:27px !important; line-height:1 !important; }
.site-header .site-header__side--right .search-submit span { display:block !important; transform:translateY(-2px) !important; }
.site-header .site-header__side--right .dd--account { border-right:1px solid #e1c79e !important; padding-right:8px !important; }
.site-header .site-header__side--right .icon-link { display:flex !important; align-items:center !important; justify-content:center !important; flex:0 0 34px !important; width:34px !important; height:42px !important; color:#9b713b !important; background:transparent !important; border:0 !important; }
.site-header .site-header__side--right .icon-link .icon { width:22px !important; height:22px !important; }
.site-header .site-header__side--right .cart-count { background:#b28a4c !important; color:#fff !important; }
.site-header .site-header__bar::after { content:"✧" !important; position:absolute !important; bottom:-10px !important; left:50% !important; transform:translateX(-50%) !important; padding:0 8px !important; color:#b88c4a !important; background:#f5eddf !important; font-size:17px !important; line-height:1 !important; z-index:3 !important; }
@media (max-width:1500px) and (min-width:1101px) {
 .site-header .site-header__bar { grid-template-columns:150px minmax(500px,1fr) 350px !important; column-gap:14px !important; padding-inline:18px !important; }
 .site-header .brand { width:140px !important; }
 .site-header .brand__blue-mark img { width:120px !important; }
 .site-header .site-header__side--right { width:350px !important; gap:6px !important; }
 .site-header .site-header__side--right .site-search { flex-basis:220px !important; width:220px !important; min-width:220px !important; max-width:220px !important; }
}
@media (max-width:1100px) and (min-width:761px) {
 .site-header { min-height:174px !important; }
 .site-header .site-header__bar { grid-template-columns:130px minmax(0,1fr) !important; grid-template-rows:auto auto !important; row-gap:10px !important; min-height:170px !important; padding:10px 20px 16px !important; }
 .site-header .brand { grid-column:1 !important; grid-row:1 / span 2 !important; }
 .site-header .brand__blue-mark img { width:110px !important; }
 .site-header .primary-nav { grid-column:2 !important; grid-row:1 !important; }
 .site-header .site-header__side--right { grid-column:2 !important; grid-row:2 !important; width:100% !important; justify-self:center !important; justify-content:center !important; }
 .site-header .site-header__side--right .site-search { flex:0 1 300px !important; width:300px !important; min-width:220px !important; max-width:300px !important; }
}
@media (max-width:760px) {
 .site-header { min-height:0 !important; overflow:hidden !important; }
 .site-header::before,.site-header::after { width:70px !important; background-size:70px 76px !important; opacity:.38 !important; }
 .site-header .site-header__bar { display:grid !important; grid-template-columns:42px minmax(0,1fr) auto !important; grid-template-rows:auto auto !important; min-height:92px !important; padding:8px 12px 12px !important; gap:8px !important; }
 .site-header .site-header__side--left { display:flex !important; grid-column:1 !important; grid-row:1 !important; }
 .site-header .brand { grid-column:2 !important; grid-row:1 !important; justify-self:center !important; width:auto !important; }
 .site-header .brand__blue-mark img { width:76px !important; max-height:74px !important; }
 .site-header .site-header__side--right { grid-column:3 !important; grid-row:1 !important; width:auto !important; gap:2px !important; }
 .site-header .site-header__side--right .site-search { display:none !important; }
 .site-header .primary-nav { display:none !important; grid-column:1 / -1 !important; grid-row:2 !important; width:auto !important; margin:0 4px 4px !important; padding:0 !important; }
 .site-header .primary-nav.is-open { display:block !important; }
 .site-header .primary-nav__list { flex-direction:column !important; align-items:stretch !important; }
 .site-header .primary-nav__list > li { border-left:0 !important; border-top:1px solid #e2c89f !important; }
 .site-header .primary-nav__list > li:first-child { border-top:0 !important; }
 .site-header .primary-nav__list > li > a,.site-header .primary-nav__list .mega__toggle { justify-content:flex-start !important; min-height:42px !important; padding:12px 18px !important; font-size:12px !important; }
 .site-header .site-header__bar::after { bottom:-7px !important; }
}


/* v1.4.7 — transparent leaf ornaments, blue logo, reliable menu layering */
.site-header {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
  isolation: isolate !important;
  background: linear-gradient(180deg,#fbf7ee 0%,#f4ecdc 100%) !important;
}
.site-header::before,
.site-header::after {
  z-index: 0 !important;
  pointer-events: none !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  opacity: .88 !important;
}
.site-header::before { left: 0 !important; right: auto !important; }
.site-header::after { right: 0 !important; left: auto !important; }
.site-header .site-header__bar { position: relative !important; z-index: 2 !important; }
.site-header .brand,
.site-header .primary-nav,
.site-header .site-header__side--right { position: relative !important; z-index: 5 !important; }
.site-header .brand__blue-mark img {
  content: url("assets/img/fransi-blue-logo.png") !important;
  display: block !important; width: 132px !important; max-width: 132px !important;
  max-height: 132px !important; height: auto !important; object-fit: contain !important;
}
.site-header .primary-nav { overflow: visible !important; }
.site-header .primary-nav__list,
.site-header .primary-nav__list > li { overflow: visible !important; }
.site-header .primary-nav__list > li { position: relative !important; }
.site-header .primary-nav__list .sub-menu,
.site-header .primary-nav__list .mega__panel,
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel {
  z-index: 10010 !important;
}
.site-main { position: relative !important; z-index: 1 !important; }
@media (max-width:1500px) and (min-width:1101px) {
  .site-header .brand__blue-mark img { width:120px !important; max-width:120px !important; }
}
@media (max-width:760px) {
  .site-header { overflow: visible !important; }
  .site-header .brand__blue-mark img { width:76px !important; max-width:76px !important; max-height:74px !important; }
}

/* v1.4.8 — cleaned decorative edges and smoother blue logo */
.site-header::before,
.site-header::after {
  background-color: transparent !important;
  background-size: 135px 145px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  opacity: .72 !important;
  z-index: 0 !important;
}
.site-header::before { background-image: url("assets/img/leaves-left.png") !important; left: 0 !important; }
.site-header::after { background-image: url("assets/img/leaves-right.png") !important; right: 0 !important; }
.site-header .brand__blue-mark,
.site-header .brand__blue-mark img { image-rendering: auto !important; }
.site-header .brand__blue-mark img { filter: none !important; transform: translateZ(0); }

/* v1.4.9 — balanced header: logo aligned to page content, centered navigation, controls above ornaments */
@media (min-width:1101px) {
  .site-header {
    overflow: visible !important;
    isolation: isolate !important;
    min-height: 142px !important;
  }
  .site-header::before,
  .site-header::after {
    z-index: 0 !important;
    pointer-events: none !important;
    opacity: .32 !important;
    width: 150px !important;
    background-size: 150px 150px !important;
  }
  .site-header .site-header__bar {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) 360px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    justify-content: stretch !important;
    column-gap: 20px !important;
    width: 100% !important;
    max-width: 1800px !important;
    min-height: 140px !important;
    margin: 0 auto !important;
    padding: 10px 80px !important;
    position: relative !important;
    z-index: 4 !important;
    box-sizing: border-box !important;
  }
  .site-header .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 150px !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 6 !important;
  }
  .site-header .brand__blue-mark img {
    display: block !important;
    width: 132px !important;
    max-width: 132px !important;
    height: auto !important;
    max-height: 132px !important;
    object-fit: contain !important;
  }
  .site-header .primary-nav {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 7 !important;
  }
  .site-header .primary-nav__list {
    justify-content: center !important;
    width: 100% !important;
  }
  .site-header .primary-nav__list > li { flex: 1 1 auto !important; }
  .site-header .primary-nav__list > li > a,
  .site-header .primary-nav__list > li > button,
  .site-header .primary-nav__list .mega__toggle {
    padding-left: clamp(10px, .9vw, 17px) !important;
    padding-right: clamp(10px, .9vw, 17px) !important;
  }
  .site-header .site-header__side--right {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center !important;
    display: flex !important;
    width: 360px !important;
    max-width: 360px !important;
    min-width: 0 !important;
    gap: 8px !important;
    position: relative !important;
    z-index: 8 !important;
  }
  .site-header .site-header__side--right .site-search {
    flex: 1 1 220px !important;
    width: auto !important;
    min-width: 170px !important;
    max-width: 240px !important;
    position: relative !important;
    z-index: 8 !important;
  }
  .site-header .site-header__side--right .dd,
  .site-header .site-header__side--right .icon-link,
  .site-header .site-header__side--right .search-form {
    position: relative !important;
    z-index: 8 !important;
  }
}
@media (min-width:761px) and (max-width:1100px) {
  .site-header::before, .site-header::after { z-index: 0 !important; pointer-events:none !important; }
  .site-header .site-header__bar { position:relative !important; z-index:4 !important; }
  .site-header .brand, .site-header .primary-nav, .site-header .site-header__side--right { position:relative !important; z-index:6 !important; }
}

/* v1.5.0: proste menu kategorii bez przycisków plus/minus */
.primary-nav .mega__inner--accordion { display:flex; flex-direction:column; gap:0; }
.primary-nav .fransi-category-link, .primary-nav .fransi-all-products { display:block; width:100%; box-sizing:border-box; padding:11px 18px; border:0; border-bottom:1px solid rgba(174,132,72,.18); background:transparent; color:#76552f; text-decoration:none; line-height:1.35; }
.primary-nav .fransi-all-products { font-weight:600; color:#9b7136; }
.primary-nav .fransi-category-link:hover, .primary-nav .fransi-all-products:hover { background:rgba(190,151,91,.12); color:#67461f; text-decoration:none; }
.primary-nav .category-accordion__toggle, .primary-nav .fransi-submenu-toggle { display:none !important; }

/* v1.5.1 — stylizowany panel kategorii: krem, złoto i czytelne linki */
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel {
  display: block !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  left: 50% !important;
  right: auto !important;
  width: min(540px, calc(100vw - 32px)) !important;
  min-width: min(420px, calc(100vw - 32px)) !important;
  max-height: min(72vh, 620px) !important;
  overflow: auto !important;
  padding: 10px !important;
  background: #fbf6ed !important;
  background-image: radial-gradient(ellipse at top left, rgba(205,169,112,.13), transparent 52%) !important;
  border: 1px solid #d7b77f !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 38px rgba(83, 59, 31, .20), inset 0 0 0 4px rgba(255,255,255,.55) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, 8px) !important;
  z-index: 100100 !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu:hover > .mega__panel,
.site-header .primary-nav__list > li.fransi-categories-menu:focus-within > .mega__panel,
.site-header .primary-nav__list > li.fransi-categories-menu.is-open > .mega__panel {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, 0) !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel::before {
  content: "ODKRYJ SWÓJ STYL" !important;
  display: block !important;
  padding: 12px 14px 10px !important;
  color: #a27a40 !important;
  font: 600 11px/1.2 sans-serif !important;
  letter-spacing: .22em !important;
  text-align: center !important;
  border-bottom: 1px solid rgba(174,132,72,.3) !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  padding: 12px !important;
  background: transparent !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 42px !important;
  width: auto !important;
  box-sizing: border-box !important;
  padding: 11px 13px !important;
  color: #73522e !important;
  background: rgba(255,255,255,.66) !important;
  border: 1px solid rgba(190,151,91,.27) !important;
  border-radius: 10px !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  letter-spacing: .07em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: 0 2px 5px rgba(70,48,22,.025) !important;
  transition: background .2s ease, border-color .2s ease, transform .2s ease !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products {
  grid-column: 1 / -1 !important;
  justify-content: center !important;
  color: #fffaf1 !important;
  background: linear-gradient(110deg, #b88d4c, #d2b078) !important;
  border-color: #b88d4c !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link:hover,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link:focus-visible {
  background: #f1e4cf !important;
  border-color: #c49a5b !important;
  transform: translateY(-1px) !important;
  outline: none !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products:hover,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products:focus-visible {
  background: linear-gradient(110deg, #a97b3c, #c6a065) !important;
  color: #fff !important;
  outline: none !important;
}
@media (max-width: 760px) {
  .site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    border-radius: 0 0 14px 14px !important;
    transform: none !important;
    box-shadow: none !important;
  }
  .site-header .primary-nav__list > li.fransi-categories-menu.is-open > .mega__panel {
    max-height: 75vh !important;
    padding: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .site-header .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns: 1fr !important; padding: 8px !important; }
}


/* v1.5.2 — rozbudowany panel kategorii w stylu eleganckiego butiku */
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel.fransi-mega-panel {
  width: min(1115px, calc(100vw - 48px)) !important;
  min-width: min(760px, calc(100vw - 48px)) !important;
  max-height: min(76vh, 650px) !important;
  display: grid !important;
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr) !important;
  gap: 22px !important;
  padding: 12px !important;
  overflow: auto !important;
  background: linear-gradient(135deg, #fffdf8 0%, #f8f0e3 52%, #fffaf2 100%) !important;
  border: 1px solid #cba568 !important;
  border-radius: 25px !important;
  box-shadow: 0 22px 52px rgba(83, 59, 31, .22), inset 0 0 0 4px rgba(255,255,255,.7) !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel.fransi-mega-panel::before { display:none !important; content:none !important; }
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel.fransi-mega-panel::after {
  content: "" !important;
  position: absolute !important;
  top: -8px !important;
  left: 50% !important;
  width: 14px !important;
  height: 14px !important;
  background: #fffaf2 !important;
  border-left: 1px solid #cba568 !important;
  border-top: 1px solid #cba568 !important;
  transform: translateX(-50%) rotate(45deg) !important;
}
.site-header .fransi-mega-promo {
  position: relative;
  isolation: isolate;
  min-height: 380px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  text-align: center;
  padding: 26px 18px 28px;
  border: 1px solid rgba(190,151,91,.28);
  border-radius: 17px;
  background: #efe1c9 url("assets/img/hero.jpg") 79% center / cover no-repeat;
}
.site-header .fransi-mega-promo::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background: linear-gradient(180deg, rgba(249,241,226,.08) 0%, rgba(250,242,228,.2) 30%, rgba(250,242,228,.93) 65%, rgba(250,242,228,.98) 100%);
}
.site-header .fransi-mega-promo::after {
  content:"✧"; position:absolute; top:13px; left:14px; color:#b58a4b; font-size:25px; line-height:1;
}
.site-header .fransi-mega-promo__eyebrow { margin:0 0 8px; color:#8e6b38; font-size:10px; letter-spacing:.28em; font-weight:600; }
.site-header .fransi-mega-promo h2 { margin:0 0 12px; color:#685033; font:italic 500 clamp(30px,2.4vw,42px)/1.05 Georgia,serif; letter-spacing:-.035em; text-transform:none; }
.site-header .fransi-mega-promo__copy { margin:0 0 18px; color:#756047; font:italic 13px/1.55 Georgia,serif; }
.site-header .fransi-mega-promo__button {
  display:flex; align-items:center; justify-content:center; gap:14px; width:100%; max-width:220px;
  box-sizing:border-box; padding:12px 15px; border:1px solid #c39a5b; border-radius:999px;
  color:#fffaf2 !important; background:linear-gradient(115deg,#b88d4c,#d1ae72); text-decoration:none !important;
  font-size:11px; letter-spacing:.035em; box-shadow:0 5px 12px rgba(125,88,38,.18); transition:transform .2s ease, box-shadow .2s ease;
}
.site-header .fransi-mega-promo__button span { font-size:22px; line-height:10px; }
.site-header .fransi-mega-promo__button:hover { transform:translateY(-2px); box-shadow:0 8px 17px rgba(125,88,38,.24); }
.site-header .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  align-content:center !important; align-items:stretch !important; gap:10px 12px !important; padding:18px 10px 18px 0 !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link {
  position:relative; min-height:54px !important; padding:13px 16px !important; border-radius:999px !important;
  border-color:rgba(190,151,91,.32) !important; background:rgba(255,253,248,.76) !important;
  color:#76552f !important; font-family:Georgia,serif !important; font-size:13px !important;
  font-weight:400 !important; letter-spacing:.01em !important; text-transform:none !important;
  box-shadow:0 2px 7px rgba(92,67,35,.035) !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products { grid-column:auto !important; justify-content:space-between !important; color:#76552f !important; }
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products::before,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link::before {
  content:""; flex:0 0 34px; width:34px; height:34px; margin-right:2px; border-radius:50%;
  background:linear-gradient(145deg,#fffdf7,#eee0c7); border:1px solid rgba(190,151,91,.24);
  box-shadow:0 2px 5px rgba(92,67,35,.08);
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products::after,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link::after {
  content:"›"; color:#b58a4b; font:26px/1 Georgia,serif; margin-left:auto;
}
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link:hover,
.site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products:hover {
  transform:translateY(-2px) !important; background:#f4e8d4 !important; border-color:#c49a5b !important;
  box-shadow:0 7px 16px rgba(92,67,35,.09) !important;
}
@media (max-width: 900px) {
 .site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel.fransi-mega-panel { grid-template-columns: minmax(190px,230px) minmax(0,1fr) !important; gap:12px !important; }
 .site-header .fransi-mega-promo { min-height:340px; }
 .site-header .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns:1fr !important; padding-right:5px !important; }
}
@media (max-width: 760px) {
 .site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel.fransi-mega-panel { display:block !important; width:100% !important; min-width:0 !important; max-height:0 !important; overflow:auto !important; padding:0 !important; border-radius:0 0 18px 18px !important; }
 .site-header .primary-nav__list > li.fransi-categories-menu.is-open > .mega__panel.fransi-mega-panel { max-height:75vh !important; padding:10px !important; }
 .site-header .fransi-mega-promo { min-height:240px; margin-bottom:10px; background-position:80% 36%; }
 .site-header .primary-nav__list > li.fransi-categories-menu .mega__inner--accordion { grid-template-columns:1fr !important; padding:4px !important; }
 .site-header .primary-nav__list > li.fransi-categories-menu .fransi-all-products,
 .site-header .primary-nav__list > li.fransi-categories-menu .fransi-category-link { min-height:48px !important; }
}


/* v1.5.3 — pełnowysokościowe, delikatne ornamenty botaniczne po bokach strony */
body {
  position: relative !important;
  isolation: isolate !important;
  background: #fbf7ef !important;
}
body::before,
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  width: clamp(76px, 12vw, 210px) !important;
  height: 100vh !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  opacity: .68 !important;
}
body::before {
  left: 0 !important;
  background-image: url("assets/img/leaves-side-left.png") !important;
  background-position: left center !important;
}
body::after {
  right: 0 !important;
  background-image: url("assets/img/leaves-side-right.png") !important;
  background-position: right center !important;
}
.site-header, .site-main, .site-footer {
  position: relative;
  z-index: 1;
}
.site-main {
  background: transparent !important;
}
@media (max-width: 760px) {
  body::before, body::after {
    width: 46px !important;
    opacity: .28 !important;
  }
}
@media (max-width: 380px) {
  body::before, body::after { opacity: .16 !important; width: 30px !important; }
}


/* v1.5.4 — prawdziwe boczne ornamenty na całej długości strony.
   Liście są tłem dokumentu, nie elementem przyklejonym do nagłówka,
   dzięki czemu przewijają się naturalnie wraz z treścią i nie zasłaniają linków. */
body {
  background-color: #fbf8f2 !important;
  background-image:
    url("assets/img/leaves-side-left.png"),
    url("assets/img/leaves-side-right.png"),
    linear-gradient(180deg, #fbf8f2 0%, #f8f1e6 52%, #fbf8f2 100%) !important;
  background-position: left 150px, right 150px, center top !important;
  background-size: clamp(64px, 10.5vw, 178px) auto, clamp(64px, 10.5vw, 178px) auto, 100% 100% !important;
  background-repeat: repeat-y, repeat-y, no-repeat !important;
  background-attachment: scroll, scroll, scroll !important;
}
/* Header retains only its original top-corner decoration; full-height branches are on body. */
.site-header::before,
.site-header::after {
  pointer-events: none !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  opacity: .78 !important;
}
@media (max-width: 1100px) {
  body {
    background-size: 82px auto, 82px auto, 100% 100% !important;
    background-position: left 140px, right 140px, center top !important;
  }
}
@media (max-width: 600px) {
  body {
    background-size: 42px auto, 42px auto, 100% 100% !important;
    background-position: left 110px, right 110px, center top !important;
  }
  .site-header::before, .site-header::after { opacity: .55 !important; }
}

/* v1.5.5 — homepage composition matching supplied Fransi mockup */
body { background-color:#fbf7ee !important; background-image:none !important; }
body::before, body::after { content:"" !important; display:block !important; position:fixed !important; top:0 !important; bottom:0 !important; width:clamp(135px,15.5vw,275px) !important; height:100vh !important; z-index:0 !important; pointer-events:none !important; opacity:1 !important; background-color:#fbf7ee !important; background-repeat:no-repeat !important; background-size:100% 100% !important; background-position:center !important; }
body::before { left:0 !important; background-image:url("assets/img/fransi-side-left-reference.jpg") !important; }
body::after { right:0 !important; width:clamp(150px,18.1vw,321px) !important; background-image:url("assets/img/fransi-side-right-reference.jpg") !important; }
.fransi-topline b svg { display:block; width:14px; height:14px; }
.site-header,.site-main,.site-footer { position:relative !important; z-index:2 !important; }
.site-header::before,.site-header::after { display:none !important; content:none !important; }
.fransi-topline { height:35px; max-width:1240px; margin:0 auto; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#90734a; font-size:10px; letter-spacing:.015em; border-bottom:1px solid rgba(190,157,103,.18); }
.fransi-topline span { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.fransi-topline b { color:#b58b4e; font-size:14px; font-weight:400; }
.site-header { position:relative !important; top:auto !important; background:rgba(251,247,238,.96) !important; border-bottom:1px solid #cda96e !important; box-shadow:0 2px 9px rgba(128,91,42,.045) !important; }
.site-header .site-header__bar { max-width:1240px !important; min-height:102px !important; margin:0 auto !important; padding:10px 18px !important; display:grid !important; grid-template-columns:140px minmax(0,1fr) 310px !important; grid-template-areas:"brand nav right" !important; align-items:center !important; column-gap:20px !important; position:relative !important; }
.site-header .site-header__side--left { display:none !important; }
.site-header .brand { grid-area:brand !important; justify-self:start !important; text-align:left !important; width:auto !important; position:relative !important; z-index:5 !important; }
.site-header .brand__signature { height:auto !important; min-height:0 !important; display:block !important; position:static !important; }
.site-header .brand__blue-mark { position:static !important; display:block !important; width:100px !important; height:auto !important; margin:0 !important; }
.site-header .brand__blue-mark img { width:100px !important; height:auto !important; max-width:100px !important; max-height:none !important; object-fit:contain !important; filter:none !important; }
.site-header .brand__motto { display:none !important; }
.site-header .primary-nav { grid-area:nav !important; width:100% !important; max-width:none !important; min-width:0 !important; margin:0 !important; padding:0 !important; overflow:visible !important; }
.site-header .primary-nav__list { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; justify-content:center !important; gap:0 !important; width:100% !important; padding:4px !important; margin:0 !important; border:1px solid #d9b77e !important; border-radius:40px !important; background:rgba(255,253,248,.76) !important; box-shadow:0 2px 8px rgba(139,101,47,.07) !important; overflow:visible !important; }
.site-header .primary-nav__list > li { flex:1 1 auto !important; min-width:0 !important; border:0 !important; }
.site-header .primary-nav__list > li > a,.site-header .primary-nav__list > li > button,.site-header .primary-nav__list .mega__toggle { display:flex !important; justify-content:center !important; align-items:center !important; min-height:38px !important; padding:10px 13px !important; margin:0 !important; border:0 !important; border-radius:25px !important; color:#624c30 !important; background:transparent !important; font-size:10px !important; letter-spacing:.105em !important; line-height:1.2 !important; white-space:nowrap !important; text-decoration:none !important; box-shadow:none !important; }
.site-header .primary-nav__list > li + li { border-left:1px solid rgba(194,158,102,.38) !important; }
.site-header .primary-nav__list .current-menu-item > a,.site-header .primary-nav__list .current_page_item > a,.site-header .primary-nav__list .current-menu-ancestor > a { background:#ead6b2 !important; color:#684b28 !important; box-shadow:none !important; }
.site-header .primary-nav__list > li > a::after { display:none !important; }
.site-header .site-header__side--right { grid-area:right !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; gap:10px !important; min-width:0 !important; position:relative !important; z-index:6 !important; }
.site-header .site-search.site-search--inline { display:block !important; width:210px !important; max-width:210px !important; margin:0 !important; padding:0 !important; }
.site-header .site-search form,.site-header .search-form { display:flex !important; align-items:center !important; gap:0 !important; width:100% !important; }
.site-header .site-search input[type="search"],.site-header .search-form input[type="search"] { min-width:0 !important; width:100% !important; height:39px !important; padding:0 14px !important; border:1px solid #e0c79d !important; border-right:0 !important; border-radius:22px 0 0 22px !important; background:#fffaf1 !important; color:#745b3d !important; font:italic 12px Georgia,serif !important; box-shadow:0 2px 6px rgba(139,101,47,.08) !important; }
.site-header .search-form .search-submit,.site-header .site-search input[type="submit"] { display:flex !important; align-items:center !important; justify-content:center !important; flex:0 0 40px !important; width:40px !important; height:39px !important; padding:0 !important; border:1px solid #b78d4c !important; border-radius:0 22px 22px 0 !important; background:linear-gradient(135deg,#d9bb83,#b58a49) !important; color:#fff !important; font-size:22px !important; line-height:1 !important; box-shadow:0 2px 6px rgba(139,101,47,.08) !important; }
.site-header .icon-link { width:30px !important; height:38px !important; color:#8b6532 !important; }
.site-header .dd--account { border-right:1px solid #dfc99f !important; padding-right:8px !important; }
.site-header .icon-link svg { width:20px !important; height:20px !important; }
.site-header .site-header__bar::after { display:none !important; content:none !important; }
.site-header .primary-nav__list .mega__panel { z-index:999 !important; }

.fransi-homepage { position:relative; z-index:2; width:auto; margin:10px clamp(135px,18.1vw,321px) 0 clamp(135px,15.5vw,275px); padding:0 0 54px; }
.fransi-reference-hero,.fransi-reference-categories { position:relative; width:100%; margin:0; overflow:visible; }
.fransi-reference-hero { margin-bottom:12px; }
.fransi-reference-hero > img,.fransi-reference-categories > img { display:block !important; width:100% !important; height:auto !important; margin:0 !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.fransi-hero-hotspot { position:absolute; left:9.6%; top:73.8%; width:15.5%; height:14.5%; border-radius:28px; z-index:3; background:transparent; }
.fransi-hero-hotspot:focus-visible,.fransi-category-hotspot:focus-visible { outline:2px solid #9c743b; outline-offset:2px; }
.fransi-category-hotspot { position:absolute; display:block; z-index:3; border-radius:28px; background:transparent; }
.fransi-category-hotspot:hover { background:rgba(190,151,91,.08); box-shadow:inset 0 0 0 1px rgba(190,151,91,.24); }
.fransi-category-hotspot--all { left:7.2%; top:72.5%; width:15.2%; height:14%; }
.fransi-category-hotspot--all-card { left:33.8%; top:8.5%; width:29.7%; height:17%; }
.fransi-category-hotspot--skirts { left:33.8%; top:28%; width:29.7%; height:16.5%; }
.fransi-category-hotspot--body { left:33.8%; top:48.5%; width:29.7%; height:16.5%; }
.fransi-category-hotspot--jackets { left:33.8%; top:69.2%; width:29.7%; height:16.5%; }
.fransi-category-hotspot--blouses { left:66.3%; top:6.5%; width:30%; height:16.5%; }
.fransi-category-hotspot--sets { left:66.3%; top:23.8%; width:30%; height:16.5%; }
.fransi-category-hotspot--trousers { left:66.3%; top:41.5%; width:30%; height:16.5%; }
.fransi-category-hotspot--dresses { left:66.3%; top:59.2%; width:30%; height:16.5%; }
.fransi-category-hotspot--sweaters { left:66.3%; top:77%; width:30%; height:16.5%; }
.fransi-featured-products { margin-top:8px; }
.fransi-featured-heading { display:flex; align-items:center; justify-content:center; gap:20px; text-align:center; margin:0 0 22px; }
.fransi-featured-heading > span { display:block; width:58px; height:1px; background:linear-gradient(90deg,transparent,#bd985b); position:relative; }
.fransi-featured-heading > span:last-child { transform:scaleX(-1); }
.fransi-featured-heading > span::after { content:"◆"; position:absolute; right:-3px; top:-6px; color:#bd985b; font-size:8px; }
.fransi-featured-heading h2 { margin:0; color:#594125; font:italic 500 clamp(25px,2.5vw,34px)/1.1 Georgia,serif; }
.fransi-featured-heading p { margin:5px 0 0; color:#b18b52; font-size:9px; letter-spacing:.28em; }
.fransi-featured-products ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px !important; margin:0 !important; }
.fransi-featured-products ul.products::before,.fransi-featured-products ul.products::after { display:none !important; }
.fransi-featured-products ul.products li.product { float:none !important; width:auto !important; margin:0 !important; padding:0 0 14px !important; background:rgba(255,253,248,.7) !important; border:1px solid #eadcc5 !important; border-radius:12px !important; overflow:hidden; }
.fransi-featured-products ul.products li.product a img { width:100% !important; aspect-ratio:3/4 !important; object-fit:cover !important; margin:0 0 12px !important; border-radius:0 !important; }
.fransi-featured-products ul.products li.product .woocommerce-loop-product__title { padding:0 12px !important; color:#5c472e !important; font:500 16px/1.3 Georgia,serif !important; }
.fransi-featured-products ul.products li.product .price { padding:0 12px !important; color:#966b35 !important; font:500 17px Georgia,serif !important; }
.fransi-featured-products ul.products li.product a.button { margin:10px 12px 0 !important; padding:9px 10px !important; border:1px solid #c7a66d !important; border-radius:22px !important; background:#f4e7d0 !important; color:#76552f !important; text-align:center !important; font-size:11px !important; }
.fransi-featured-products ul.products li.product .star-rating { color:#c09a5b !important; margin-left:12px !important; }
.fransi-homepage .woocommerce-result-count,.fransi-homepage .woocommerce-ordering { display:none !important; }
@media(max-width:1250px) {
 .site-header .site-header__bar { grid-template-columns:105px minmax(0,1fr) 270px !important; column-gap:12px !important; }
 .site-header .brand__blue-mark,.site-header .brand__blue-mark img { width:88px !important; max-width:88px !important; }
 .site-header .site-search.site-search--inline { width:175px !important; max-width:175px !important; }
 .fransi-homepage { width:auto; margin-left:82px; margin-right:82px; }
}
@media(max-width:980px) {
 .fransi-topline { height:30px; font-size:9px; }
 .site-header .site-header__bar { grid-template-columns:82px minmax(0,1fr) 220px !important; column-gap:8px !important; min-height:86px !important; padding:8px 12px !important; }
 .site-header .brand__blue-mark,.site-header .brand__blue-mark img { width:72px !important; max-width:72px !important; }
 .site-header .primary-nav__list > li > a,.site-header .primary-nav__list > li > button,.site-header .primary-nav__list .mega__toggle { font-size:9px !important; padding:9px 8px !important; }
 .site-header .site-search.site-search--inline { width:140px !important; max-width:140px !important; }
 .site-header .site-header__side--right { gap:4px !important; }
 body::before,body::after { width:82px !important; }
}
@media(max-width:760px) {
 .fransi-topline { display:none !important; }
 .site-header .site-header__bar { display:grid !important; grid-template-columns:36px minmax(0,1fr) auto !important; grid-template-areas:"left brand right" "nav nav nav" !important; grid-template-rows:auto auto !important; gap:4px !important; min-height:0 !important; padding:8px 12px 10px !important; }
 .site-header .site-header__side--left { display:flex !important; grid-area:left !important; }
 .site-header .brand { grid-area:brand !important; justify-self:start !important; }
 .site-header .brand__blue-mark,.site-header .brand__blue-mark img { width:68px !important; max-width:68px !important; }
 .site-header .site-header__side--right { grid-area:right !important; gap:3px !important; }
 .site-header .site-search.site-search--inline { width:clamp(108px,32vw,170px) !important; max-width:none !important; }
 .site-header .site-search input[type="search"],.site-header .search-form input[type="search"] { height:34px !important; font-size:10px !important; }
 .site-header .search-form .search-submit { height:34px !important; flex-basis:32px !important; width:32px !important; }
 .site-header .primary-nav { display:none !important; grid-area:nav !important; }
 .site-header .primary-nav.is-open { display:block !important; }
 .site-header .primary-nav__list { display:flex !important; flex-direction:column !important; align-items:stretch !important; border-radius:12px !important; }
 .site-header .primary-nav__list > li + li { border-left:0 !important; border-top:1px solid rgba(194,158,102,.38) !important; }
 .site-header .primary-nav__list > li > a,.site-header .primary-nav__list > li > button,.site-header .primary-nav__list .mega__toggle { justify-content:flex-start !important; }
 .fransi-homepage { width:calc(100% - 24px); margin:8px 12px 0; }
 .fransi-featured-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px !important; }
 .fransi-featured-heading { gap:10px; margin-bottom:16px; }
 .fransi-featured-heading > span { width:24px; }
 .fransi-featured-heading p { font-size:7px; letter-spacing:.18em; }
 .fransi-category-hotspot { border-radius:8px; }
 body::before,body::after { width:32px !important; opacity:.7 !important; }
}
@media(max-width:420px) {
 .fransi-homepage { width:calc(100% - 18px); margin-left:9px; margin-right:9px; }
 .site-header .site-header__side--right .dd--account { display:none !important; }
 .site-header .site-search.site-search--inline { width:116px !important; }
}


/* v1.5.6 — naprawa „strony w stronie”: prawdziwy układ HTML zamiast obrazów całych sekcji. */
body {
  background-color:#fbf7ef !important;
  background-image:
    url("assets/img/leaves-side-left.png"),
    url("assets/img/leaves-side-right.png"),
    linear-gradient(180deg,#fbf8f2 0%,#f8f0e4 52%,#fbf8f2 100%) !important;
  background-position:left top,right top,center top !important;
  background-size:clamp(90px,13vw,205px) auto,clamp(90px,13vw,205px) auto,100% 100% !important;
  background-repeat:repeat-y,repeat-y,no-repeat !important;
  background-attachment:scroll,scroll,scroll !important;
}
/* Wyłączamy wszystkie wcześniejsze warianty liści, by nie nakładały się na siebie. */
body::before, body::after, .site-header::before, .site-header::after { display:none !important; content:none !important; }
.site-header,.site-main,.site-footer { position:relative !important; z-index:1 !important; }
.site-header { background:rgba(251,248,242,.96) !important; }
.fransi-benefit-strip {
  min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:5px clamp(20px,7vw,110px); border-bottom:1px solid rgba(190,151,91,.18);
  color:#8b6b3e; background:rgba(248,241,229,.84); font-size:11px; letter-spacing:.02em;
}
.fransi-benefit-strip span { display:flex; align-items:center; gap:8px; }
.fransi-benefit-strip b { color:#b48a4a; font-size:15px; font-weight:400; }
.fransi-homepage { position:relative !important; z-index:1 !important; width:min(1178px,calc(100% - 40px)) !important; max-width:1178px !important; margin:12px auto 0 !important; padding:0 0 56px !important; }
.fransi-hero-real {
  position:relative; display:grid; grid-template-columns:minmax(300px,.86fr) minmax(0,1.4fr); align-items:stretch;
  min-height:280px; overflow:hidden; isolation:isolate; border:1px solid #c5a066; border-radius:16px;
  background:linear-gradient(110deg,#f8efdf 0%,#fffaf2 48%,#ead7bc 100%);
  box-shadow:0 4px 15px rgba(112,79,37,.07),inset 0 0 0 4px rgba(255,255,255,.76);
}
.fransi-hero-real::before { content:""; position:absolute; inset:5px; border:1px solid rgba(193,153,91,.55); border-radius:11px; pointer-events:none; z-index:3; }
.fransi-hero-real__copy { position:relative; z-index:2; align-self:center; padding:32px 20px 32px clamp(34px,7.5vw,112px); }
.fransi-home-eyebrow { margin:0 0 10px; color:#9b7744; font:600 10px/1.4 var(--sans); letter-spacing:.28em; }
.fransi-hero-real h1 { margin:0 0 13px; color:#604724; font:italic 500 clamp(30px,3.3vw,47px)/.98 var(--serif); letter-spacing:-.035em; }
.fransi-hero-real h1 em { color:#b18a49; font-weight:500; }
.fransi-hero-real__description { margin:0 0 18px; color:#735d43; font-size:12px; line-height:1.55; }
.fransi-gold-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:38px; padding:9px 17px 9px 21px; border:1px solid #b88e4e; border-radius:999px; color:#fffaf2 !important; background:linear-gradient(115deg,#b58a48,#c9a56a); font-size:11px; box-shadow:0 3px 8px rgba(120,83,35,.15); transition:transform .2s,box-shadow .2s; }
.fransi-gold-button:hover { color:#fff !important; transform:translateY(-1px); box-shadow:0 6px 13px rgba(120,83,35,.2); }
.fransi-gold-button span { font-size:22px; line-height:10px; }
.fransi-hero-real__photo { min-height:280px; background:url("assets/img/fransi-hero-model-crop.jpg") center 37%/cover no-repeat; }
.fransi-hero-ornament { position:absolute; z-index:2; color:#b58a4b; opacity:.7; font-size:24px; pointer-events:none; }
.fransi-hero-ornament--one { left:14px; top:13px; }.fransi-hero-ornament--two { right:16px; bottom:10px; }
.fransi-category-panel {
  position:relative; display:grid; grid-template-columns:minmax(255px,.82fr) minmax(0,1.8fr); gap:24px; margin-top:14px; padding:12px;
  border:1px solid #c8a46d; border-radius:16px; overflow:hidden; background:rgba(255,251,244,.9);
  box-shadow:0 4px 16px rgba(112,79,37,.06),inset 0 0 0 4px rgba(255,255,255,.76);
}
.fransi-category-promo { position:relative; display:flex; align-items:center; min-height:250px; overflow:hidden; border-radius:10px; background:#f0e0c7 url("assets/img/fransi-category-clothes-crop.jpg") center/cover no-repeat; }
.fransi-category-promo::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,244,231,.95) 0%,rgba(251,244,231,.86) 44%,rgba(251,244,231,.08) 100%); }
.fransi-category-promo__copy { position:relative; z-index:1; padding:20px 16px 20px clamp(18px,4vw,42px); }
.fransi-category-promo__copy .fransi-home-eyebrow { margin-bottom:7px; font-size:9px; }
.fransi-category-promo h2 { margin:0 0 8px; color:#5f4525; font:italic 500 clamp(33px,3.2vw,46px)/1 var(--serif); }
.fransi-category-promo__copy > p:not(.fransi-home-eyebrow) { margin:0 0 16px; color:#745c40; font-size:12px; line-height:1.5; }
.fransi-category-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:9px 12px; padding:8px 8px 8px 0; }
.fransi-category-pill { display:flex; align-items:center; gap:11px; min-height:43px; padding:5px 12px 5px 6px; border:1px solid rgba(190,151,91,.28); border-radius:999px; color:#705536 !important; background:rgba(255,253,248,.82); font:italic 14px/1.2 var(--serif); transition:background .2s,border-color .2s,transform .2s; }
.fransi-category-pill:hover { color:#60431f !important; background:#f6ead6; border-color:#c6a065; transform:translateY(-1px); }
.fransi-category-pill__icon { display:grid; place-items:center; flex:0 0 33px; width:33px; height:33px; border:1px solid rgba(190,151,91,.26); border-radius:50%; background:linear-gradient(145deg,#fffdf7,#eee0c7); color:#8b6837; font:17px/1 var(--serif); }
.fransi-category-pill--all { background:#f2e2c6; border-color:#c9a46a; }
.fransi-category-pill__arrow { margin-left:auto; color:#b58a4b; font:24px/1 var(--serif); }
.fransi-category-ornament { position:absolute; color:#b58a4b; font-size:21px; pointer-events:none; }
.fransi-category-ornament--right { right:8px; bottom:8px; }.fransi-category-ornament--left { left:8px; top:8px; }
.fransi-featured-products { margin-top:10px !important; }
.fransi-featured-heading { display:flex; align-items:center; justify-content:center; gap:16px; margin:10px 0 20px; text-align:center; }
.fransi-featured-heading > span { width:45px; height:1px; background:#c8a46d; position:relative; }
.fransi-featured-heading > span::after { content:"✦"; position:absolute; top:-8px; right:-3px; color:#c8a46d; font-size:10px; }
.fransi-featured-heading h2 { margin:0; color:#5e4527; font:italic 500 clamp(25px,2.7vw,33px)/1.1 var(--serif); }
.fransi-featured-heading p { margin:4px 0 0; color:#a1855a; font-size:9px; letter-spacing:.26em; }
.fransi-featured-products ul.products { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px !important; margin:0 !important; }
.fransi-featured-products ul.products::before,.fransi-featured-products ul.products::after { display:none !important; }
.fransi-featured-products ul.products li.product { float:none !important; width:auto !important; margin:0 !important; padding:0 0 14px !important; background:rgba(255,253,248,.86) !important; border:1px solid #eadcc5 !important; border-radius:11px !important; overflow:hidden; }
.fransi-featured-products ul.products li.product a img { width:100% !important; aspect-ratio:3/4 !important; object-fit:cover !important; margin:0 0 12px !important; border-radius:0 !important; }
.fransi-featured-products ul.products li.product .woocommerce-loop-product__title { padding:0 12px !important; color:#5c472e !important; font:500 16px/1.3 var(--serif) !important; }
.fransi-featured-products ul.products li.product .price { padding:0 12px !important; color:#966b35 !important; font:500 17px var(--serif) !important; }
.fransi-featured-products ul.products li.product a.button { margin:10px 12px 0 !important; padding:9px 10px !important; border:1px solid #c7a66d !important; border-radius:22px !important; background:#f4e7d0 !important; color:#76552f !important; text-align:center !important; font-size:11px !important; }
.fransi-featured-products ul.products li.product .star-rating { color:#c09a5b !important; margin-left:12px !important; }
@media(max-width:1100px) {
 .fransi-homepage { width:calc(100% - 80px) !important; }
 .fransi-category-panel { grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr); gap:14px; }
 .fransi-category-links { gap:8px; }
 .fransi-category-pill { font-size:13px; }
}
@media(max-width:760px) {
 .fransi-benefit-strip { justify-content:center; gap:10px; padding:5px 10px; font-size:9px; flex-wrap:wrap; }
 .fransi-benefit-strip span:not(:first-child) { display:none; }
 .fransi-homepage { width:calc(100% - 24px) !important; margin-top:10px !important; }
 .fransi-hero-real { grid-template-columns:1fr; min-height:0; }
 .fransi-hero-real__copy { padding:25px 24px 20px; }
 .fransi-hero-real__photo { min-height:190px; grid-row:1; background-position:center 35%; }
 .fransi-hero-real h1 { font-size:35px; }
 .fransi-hero-real__description .desktop-only { display:none; }
 .fransi-category-panel { grid-template-columns:1fr; gap:12px; padding:9px; }
 .fransi-category-promo { min-height:220px; }
 .fransi-category-links { grid-template-columns:1fr; padding:0 2px 4px; }
 .fransi-featured-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px !important; }
 .fransi-featured-products ul.products li.product .woocommerce-loop-product__title { font-size:14px !important; }
 .fransi-featured-products ul.products li.product .price { font-size:15px !important; }
 body { background-size:58px auto,58px auto,100% 100% !important; }
}
@media(max-width:380px) { .fransi-homepage { width:calc(100% - 16px) !important; } .fransi-category-promo__copy { padding-left:18px; } }


/* v1.5.7 — naprawa warstw menu i unikalne, lekkie ornamenty botaniczne. */
body {
  background-color:#fbf7ef !important;
  background-image:
    url("assets/img/fransi-botanical-left.png"),
    url("assets/img/fransi-botanical-right.png"),
    linear-gradient(180deg,#fbf8f2 0%,#f8f0e4 52%,#fbf8f2 100%) !important;
  background-position:left top,right top,center top !important;
  background-size:clamp(76px,10vw,150px) 2400px,clamp(76px,10vw,150px) 2400px,100% 100% !important;
  background-repeat:repeat-y,repeat-y,no-repeat !important;
  background-attachment:scroll,scroll,scroll !important;
}
/* Header ornaments are separate from the page-edge branches and visible behind the nav. */
.site-header {
  position:relative !important;
  z-index:1000 !important;
  isolation:isolate !important;
  overflow:visible !important;
  background:rgba(251,248,242,.96) !important;
}
.site-header::before,.site-header::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  width:clamp(92px,10vw,145px) !important;
  z-index:0 !important;
  pointer-events:none !important;
  opacity:.88 !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-size:contain !important;
}
.site-header::before { left:0 !important; background-image:url("assets/img/leaves-left.png") !important; background-position:left center !important; }
.site-header::after { right:0 !important; background-image:url("assets/img/leaves-right.png") !important; background-position:right center !important; }
.site-header .fransi-topline,.site-header .site-header__bar { position:relative !important; z-index:2 !important; }
.site-header .primary-nav { position:relative !important; z-index:1002 !important; overflow:visible !important; }
.site-header .primary-nav__list { position:relative !important; z-index:1002 !important; overflow:visible !important; }
.site-header .primary-nav__list > li { position:relative !important; }
.site-header .primary-nav__list > li > .mega__panel,
.site-header .primary-nav__list > li > .sub-menu,
.site-header .primary-nav__list .mega__panel {
  position:absolute !important;
  z-index:10050 !important;
  isolation:isolate !important;
  overflow:visible !important;
}
.site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel {
  top:calc(100% + 8px) !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}
.site-header .primary-nav__list .mega__panel::before { z-index:0 !important; pointer-events:none !important; }
.site-header .primary-nav__list .mega__panel > *,
.site-header .primary-nav__list .mega__panel .mega__inner,
.site-header .primary-nav__list .mega__panel .mega__inner--accordion { position:relative; z-index:1; }
.site-main,.site-footer { position:relative !important; z-index:1 !important; }
.site-header .dd__panel { z-index:10060 !important; }
@media(max-width:760px) {
  .site-header::before,.site-header::after { width:58px !important; opacity:.68 !important; }
  body { background-size:48px 2400px,48px 2400px,100% 100% !important; }
  .site-header .primary-nav.is-open { position:relative !important; z-index:10020 !important; }
  .site-header .primary-nav__list > li.fransi-categories-menu > .mega__panel { position:relative !important; top:auto !important; left:auto !important; transform:none !important; z-index:10050 !important; }
}


/* v1.5.8 — jedna spójna kompozycja liści na całej długości strony.
   Wyłączamy starsze pseudo-elementy z grafikami bocznymi, aby nie dublowały ornamentów.
   Boczne ilustracje są rozciągnięte na wysokość dokumentu i nie są kafelkowane. */
body::before,
body::after {
  content: none !important;
  display: none !important;
  background-image: none !important;
}
body {
  background-color: #fbf7ef !important;
  background-image:
    url("assets/img/fransi-botanical-left.png"),
    url("assets/img/fransi-botanical-right.png"),
    linear-gradient(180deg, #fbf8f2 0%, #f8f0e4 52%, #fbf8f2 100%) !important;
  background-position: left top, right top, center top !important;
  background-size: clamp(76px, 10vw, 150px) 100%, clamp(76px, 10vw, 150px) 100%, 100% 100% !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-attachment: scroll, scroll, scroll !important;
}
/* Keep the separate header corner leaves, menu, and dropdown layers unchanged. */
@media (max-width: 760px) {
  body {
    background-size: 46px 100%, 46px 100%, 100% 100% !important;
  }
}


/* v1.5.9 — poprawka wyłącznie bocznych liści: jedna dekoracja na ekranie,
   bez kafelkowania i bez rozciągniętych, powielonych motywów z dawnych assetów. */
body {
  background-color: #fbf7ef !important;
  background-image: linear-gradient(180deg, #fbf8f2 0%, #f8f0e4 52%, #fbf8f2 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
}
body::before,
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 174px !important;
  bottom: 0 !important;
  height: auto !important;
  width: clamp(78px, 11vw, 185px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background-color: #fbf7ef !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-attachment: fixed !important;
}
body::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-side-left-continuous.jpg") !important;
  background-position: left top !important;
}
body::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-side-right-continuous.jpg") !important;
  background-position: right top !important;
}
/* Preserve the working header ornaments and keep all content interactive above side art. */
.site-header { z-index: 1000 !important; }
.site-main, .site-footer, .fransi-homepage { position: relative; z-index: 1; }
@media (max-width: 760px) {
  body::before, body::after {
    top: 142px !important;
    width: 48px !important;
    opacity: .88 !important;
  }
}


/* v1.6.0 — naturalne proporcje bocznych liści; bez rozciągania grafiki */
body::before,
body::after {
  position: fixed !important;
  top: 174px !important;
  bottom: 0 !important;
  height: auto !important;
  width: clamp(88px, 10vw, 145px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .9 !important;
  background-color: transparent !important;
  background-repeat: repeat-y !important;
  background-size: 100% auto !important;
  background-attachment: scroll !important;
}
body::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-side-left-continuous.jpg") !important;
  background-position: left top !important;
}
body::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-side-right-continuous.jpg") !important;
  background-position: right top !important;
}
.site-header { z-index: 1000 !important; }
.site-main, .site-footer, .fransi-homepage { position: relative; z-index: 1; }
@media (max-width: 760px) {
  body::before, body::after {
    top: 142px !important;
    width: 44px !important;
    opacity: .72 !important;
    background-size: 100% auto !important;
  }
}

/* v1.6.1 — boczne liście mają pozostać widoczne podczas przewijania.
   Używamy przezroczystych, wysokich grafik zamiast kremowych JPG-ów,
   dzięki czemu nie powstają prostokąty ani rozciągnięte tła. */
body::before,
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 174px !important;
  bottom: 0 !important;
  height: auto !important;
  width: clamp(82px, 10vw, 138px) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: .96 !important;
  background-color: transparent !important;
  background-repeat: repeat-y !important;
  background-size: 100% auto !important;
  background-attachment: scroll !important;
}
body::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-botanical-left.png") !important;
  background-position: left top !important;
}
body::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-botanical-right.png") !important;
  background-position: right top !important;
}
.site-header { position: relative; z-index: 1000 !important; }
@media (max-width: 760px) {
  body::before, body::after {
    top: 142px !important;
    width: 42px !important;
    opacity: .72 !important;
    background-size: 100% auto !important;
  }
}


/* v1.6.2 — boczne liście o naturalnej skali, stale widoczne w oknie przeglądarki.
   Nie rozciągamy ilustracji do wysokości strony ani nie kafelkujemy jej w pionie. */
body::before,
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  bottom: auto !important;
  height: 100vh !important;
  height: 100dvh !important;
  width: clamp(82px, 10vw, 138px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: 100% auto !important;
  background-attachment: scroll !important;
}
body::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-botanical-left.png") !important;
  background-position: left top !important;
}
body::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-botanical-right.png") !important;
  background-position: right top !important;
}
.site-header { position: relative; z-index: 1000 !important; }
.site-main, .site-footer, .fransi-homepage { position: relative; z-index: 1; }
@media (max-width: 760px) {
  body::before, body::after { width: 46px !important; opacity: .8 !important; }
}


/* v1.6.4 — poprawiony kierunek prawej gałązki, bez rozciągania i bez powielania.
   Wykorzystujemy osobne, przycięte pliki z jedną gałązką. */
body {
  background-color: #fbf7ef !important;
  background-image: linear-gradient(180deg, #fbf8f2 0%, #f8f0e4 52%, #fbf8f2 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
}
body::before,
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 145px !important;
  bottom: auto !important;
  height: 250px !important;
  width: clamp(100px, 10vw, 150px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: .9 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-attachment: scroll !important;
}
body::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-side-single-left.png") !important;
  background-position: left top !important;
}
body::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-side-single-right.png") !important;
  background-position: right top !important;
  /* Plik prawej gałązki jest odbity poziomo, by wyrastał od zewnętrznej krawędzi. */
}
/* Content stays above the fixed side ornaments; navigation/dropdowns keep their existing stacking. */
.site-main, .site-footer, .fransi-homepage { position: relative; z-index: 1; }
@media (max-width: 760px) {
  body::before, body::after {
    top: 125px !important;
    width: 58px !important;
    height: 190px !important;
    opacity: .58 !important;
  }
}
@media (max-width: 380px) {
  body::before, body::after { width: 42px !important; height: 150px !important; opacity: .42 !important; }
}


/* v1.6.6 — naprawa dekoracji bocznych bez ingerencji w układ menu.
   Każda krawędź korzysta z trzech osobnych, niewielkich grafik.
   Grafiki są nieruchome względem okna i nie kafelkują się ani nie rozciągają. */
body::before,
body::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  width: clamp(112px, 10vw, 150px) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: .92 !important;
  background-color: transparent !important;
  background-repeat: no-repeat, no-repeat, no-repeat !important;
  background-attachment: fixed, fixed, fixed !important;
}
body::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-fixed-left-1.png"), url("assets/img/fransi-fixed-left-2.png"), url("assets/img/fransi-fixed-left-3.png") !important;
  background-position: left 5%, left 50%, left 95% !important;
  background-size: 118px auto, 104px auto, 122px auto !important;
}
body::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-fixed-right-1.png"), url("assets/img/fransi-fixed-right-2.png"), url("assets/img/fransi-fixed-right-3.png") !important;
  background-position: right 5%, right 50%, right 95% !important;
  background-size: 118px auto, 104px auto, 122px auto !important;
}
/* Keep the existing header and dropdown stacking intact. */
.site-header { position: relative !important; z-index: 1000 !important; }
.site-header .primary-nav,
.site-header .primary-nav__list,
.site-header .primary-nav__list .mega__panel,
.site-header .dd__panel { z-index: 10050 !important; }
.site-main, .site-footer, .fransi-homepage { position: relative; z-index: 2; }
@media (max-width: 760px) {
  body::before, body::after { width: 48px !important; opacity: .62 !important; }
  body::before { background-size: 48px auto, 42px auto, 48px auto !important; }
  body::after { background-size: 48px auto, 42px auto, 48px auto !important; }
}
@media (max-width: 380px) {
  body::before, body::after { width: 34px !important; opacity: .45 !important; }
  body::before { background-size: 34px auto, 30px auto, 34px auto !important; }
  body::after { background-size: 34px auto, 30px auto, 34px auto !important; }
}


/* v1.6.8 — boczne liście przypięte do okna; bez ozdób w menu. */
.site-header::before,
.site-header::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}
html::before,
html::after {
  content: "" !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  width: 190px !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: 190px 100vh !important;
  background-size: 190px 100dvh !important;
  background-attachment: fixed !important;
}
html::before {
  left: 0 !important;
  right: auto !important;
  background-image: url("assets/img/fransi-side-reference-left.jpg") !important;
  background-position: left top !important;
}
html::after {
  right: 0 !important;
  left: auto !important;
  background-image: url("assets/img/fransi-side-reference-right.jpg") !important;
  background-position: right top !important;
}
body { position: relative !important; z-index: 1 !important; }
.site-header { position: relative !important; z-index: 1000 !important; }
.site-header .primary-nav,
.site-header .primary-nav__list,
.site-header .primary-nav__list .mega__panel,
.site-header .dd__panel { z-index: 10050 !important; }
@media (max-width: 760px) {
  html::before, html::after {
    width: 80px !important;
    background-size: 80px 100vh !important;
    background-size: 80px 100dvh !important;
    opacity: .82 !important;
  }
}


/* v1.6.9 — boczne gałęzie mają być widoczne również na wysokości nagłówka.
   Dekoracje są na osobnej, nieruchomej warstwie nad stroną; nie przechwytują kliknięć.
   Menu nie ma własnych liści, a rozwijane panele pozostają nad dekoracją. */
html::before,
html::after {
  position: fixed !important;
  top: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 1001 !important;
  pointer-events: none !important;
}
.site-header { z-index: 1000 !important; }
.site-header .primary-nav__list .mega__panel,
.site-header .dd__panel { z-index: 10050 !important; }


/* v1.6.10 — wyrównanie tła nagłówka i usunięcie poziomej kreski z bocznych grafik. */
.site-header,
.site-header .header-inner,
.site-header .header-main,
.site-header .header-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
html, body {
  background-color: #f6f0e5 !important;
}


/* v1.6.11 — wspólne kremowe tło obszarów strony i nagłówka.
   Liście, ich pozycja oraz działanie menu pozostają bez zmian. */
:root { --fransi-background-unified: #f6f0e5; }
html, body, #page, .site, .site-wrapper, .site-content,
.site-main, .fransi-homepage, .site-header,
.site-header .header-inner, .site-header .header-main,
.site-header .header-bottom {
  background-color: var(--fransi-background-unified) !important;
}
.site-header, .site-header .header-inner,
.site-header .header-main, .site-header .header-bottom {
  background-image: none !important;
}

/* v1.6.12 — usunięcie beżowych pasów: liście mają przezroczyste tło PNG.
   Widać pod nimi identyczne tło strony; nie zmieniamy położenia ani menu. */
html::before {
  background-image: url("assets/img/fransi-side-reference-left.png") !important;
}
html::after {
  background-image: url("assets/img/fransi-side-reference-right.png") !important;
}

/* v1.6.13 — jedna para dekoracji, bez starych nakładających się warstw.
   Zlikwidowane poziome kreski przy nagłówku; liście nadal fixed. */
body::before, body::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
html::before, html::after {
  position: fixed !important;
  top: 0 !important;
  bottom: auto !important;
  height: 100vh !important;
  height: 100dvh !important;
  background-attachment: scroll !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
}
.site-header, .site-header .header-inner,
.site-header .header-main, .site-header .header-bottom {
  border-top: 0 !important;
  border-bottom: 0 !important;
}


/* v1.6.14 — usuń jasne poziome pasy z tła dokumentu i sekcji.
   Poprzednie wersje zostawiały na body gradient mimo jednolitego background-color. */
html, body, #page, .site, .site-wrapper, .site-content,
.site-main, .fransi-homepage, .site-footer {
  background-image: none !important;
  background-color: #f6f0e5 !important;
}
.fransi-benefit-strip {
  background: #f6f0e5 !important;
}
.site-header, .site-header .header-inner,
.site-header .header-main, .site-header .header-bottom {
  background: #f6f0e5 !important;
}
html::before, html::after {
  background-color: transparent !important;
}
/* Pozostawiamy tła kart i zdjęć produktów bez zmian. */


/* v1.6.15 — subtelne animacje kart produktów na hover */
.woocommerce ul.products li.product {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  transform: translateY(0);
  transition: transform .32s cubic-bezier(.2,.75,.3,1),
              box-shadow .32s ease, border-color .32s ease !important;
  will-change: transform;
}
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
  transform: translateY(-7px);
  box-shadow: 0 16px 32px rgba(110,75,36,.15);
  border-color: rgba(184,139,69,.65) !important;
}
.woocommerce ul.products li.product a img {
  transition: transform .5s cubic-bezier(.2,.75,.3,1), filter .4s ease !important;
  transform: scale(1);
}
.woocommerce ul.products li.product:hover a img,
.woocommerce ul.products li.product:focus-within a img {
  transform: scale(1.045);
  filter: brightness(1.035);
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  transition: background-color .25s ease, color .25s ease,
              box-shadow .25s ease, transform .25s ease !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(155,111,54,.2);
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product .button {
    transition: none !important;
    transform: none !important;
  }
}
@media (hover: none) {
  .woocommerce ul.products li.product:hover { transform: none; box-shadow: none; }
  .woocommerce ul.products li.product:hover a img { transform: none; filter: none; }
}

/* v1.6.16 — wspólna oś pionowa menu, wyszukiwarki i ikon.
   Nadpisuje dawne translateY(-50%) z absolutnego układu nagłówka. */
@media (min-width: 761px) {
  .site-header .site-header__bar {
    align-items: center !important;
  }
  .site-header .primary-nav {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    align-self: center !important;
    justify-self: stretch !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .site-header .site-header__side--right {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* v1.6.17 — śnieg na całej stronie; nie zasłania interakcji. */
.fransi-snowfall {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 1100 !important;
  pointer-events: none !important;
  background: transparent !important;
}
@media (prefers-reduced-motion: reduce) {
  .fransi-snowfall { display: none !important; }
}


/* v1.7.0 — subtelne efekty premium, bez ingerencji w menu, liście i śnieg. */
.woocommerce ul.products li.product { position:relative; }
.woocommerce ul.products li.product .fransi-second-product-image {
  position:absolute !important; inset:0 0 auto 0; width:100% !important;
  height:auto; aspect-ratio:4/5; object-fit:cover;
  opacity:0; z-index:2; pointer-events:none;
  transition:opacity .42s ease !important; margin:0 !important;
}
.woocommerce ul.products li.product:hover .fransi-second-product-image,
.woocommerce ul.products li.product:focus-within .fransi-second-product-image { opacity:1; }
.fransi-wishlist {
  position:absolute; z-index:5; top:10px; right:10px;
  display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:rgba(255,250,241,.92); border:1px solid rgba(185,141,79,.35);
  color:#ac7b42; font-size:25px; line-height:1; cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.fransi-wishlist:hover { transform:scale(1.1); background:#fff; }
.fransi-wishlist[aria-pressed="true"] { color:#a65a56; }
.fransi-quick-view {
  display:inline-flex; margin:8px 0 4px; color:#946d3e; font-size:12px;
  text-decoration:underline; text-underline-offset:3px;
}
.fransi-collection-banner {
  position:relative; isolation:isolate; overflow:hidden; border-radius:18px;
  max-width:1120px; margin:65px auto; min-height:280px; display:flex;
  align-items:center; border:1px solid #d9b77e; background:#f7efe1;
}
.fransi-collection-banner__image {
  position:absolute; inset:0 0 0 38%; z-index:-1;
  background:url("assets/img/fransi-hero-model-crop.jpg") center 35%/cover no-repeat;
  transition:transform .7s ease;
}
.fransi-collection-banner:hover .fransi-collection-banner__image { transform:scale(1.04); }
.fransi-collection-banner__content {
  width:60%; padding:38px 55px;
  background:linear-gradient(90deg,#f7efe1 60%,rgba(247,239,225,.84) 83%,transparent);
}
.fransi-collection-banner h2,.fransi-reviews h2 { font:500 clamp(34px,4vw,52px)/1.1 var(--serif); color:#80592d; margin:10px 0; }
.fransi-collection-banner p { margin:10px 0 20px; }
.fransi-reviews { max-width:1120px; margin:45px auto 65px; text-align:center; }
.fransi-reviews__track { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:14px 3px; }
.fransi-reviews__track::-webkit-scrollbar { display:none; }
.fransi-review {
  flex:0 0 min(360px,88%); scroll-snap-align:center; padding:25px;
  border:1px solid #e4cda7; border-radius:15px; background:#fffaf3;
  text-align:left; min-height:175px;
}
.fransi-review__stars { color:#bd9558; letter-spacing:3px; }
.fransi-review p { font:400 19px/1.4 var(--serif); }
.fransi-review strong { font-size:12px; color:#8a6946; }
.fransi-reviews__controls { display:flex; justify-content:center; gap:14px; margin-top:8px; }
.fransi-reviews__controls button {
  width:38px;height:38px;border:1px solid #cfa86d;border-radius:50%;
  background:#fff9ee;color:#a77c44;cursor:pointer;font-size:22px;
}
.fransi-reveal { opacity:1; transform:none; }
.fransi-motion-ready .fransi-reveal:not(.fransi-visible) {
  opacity:0; transform:translateY(22px);
}
.fransi-motion-ready .fransi-reveal {
  transition:opacity .65s ease,transform .65s ease;
}
.fransi-newsletter-real { flex-wrap:wrap; }
.fransi-newsletter-consent {
  flex-basis:100%; display:flex; align-items:flex-start; justify-content:center;
  gap:8px; font-size:12px; line-height:1.4; margin-top:10px;
}
.fransi-newsletter-consent input { width:auto; height:auto; margin:3px 0 0; }
.fransi-newsletter-status { font-size:13px; text-align:center; }
@media (max-width:760px) {
  .fransi-collection-banner { margin:36px 14px; min-height:240px; }
  .fransi-collection-banner__image { inset:0 0 0 28%; opacity:.45; }
  .fransi-collection-banner__content { width:100%; padding:30px; background:linear-gradient(90deg,#f7efe1 35%,rgba(247,239,225,.76)); }
  .fransi-reviews { margin:35px 15px; }
}
@media (prefers-reduced-motion:reduce) {
  .fransi-reveal,.fransi-motion-ready .fransi-reveal:not(.fransi-visible) { opacity:1 !important; transform:none !important; transition:none !important; }
  .fransi-collection-banner__image,.fransi-second-product-image { transition:none !important; }
}

.fransi-preview-overlay { position:fixed; inset:0; z-index:20000; background:rgba(44,32,23,.48); display:grid; place-items:center; padding:18px; }
.fransi-preview-dialog { position:relative; background:#fffaf3; border:1px solid #d6b57d; border-radius:18px; max-width:670px; width:100%; padding:28px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; box-shadow:0 20px 80px rgba(35,24,13,.22); }
.fransi-preview-dialog img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:9px; }
.fransi-preview-dialog h2 { font:500 31px/1.1 var(--serif); color:#80592d; }
.fransi-preview-dialog a { color:#956d37; }
.fransi-preview-close { position:absolute; top:8px; right:10px; border:0; background:transparent; font-size:29px; cursor:pointer; }
@media(max-width:540px) { .fransi-preview-dialog { grid-template-columns:1fr 1fr; padding:24px 12px; gap:12px; } .fransi-preview-dialog h2 { font-size:23px; } }

/* v1.7.1 — dane firmowe na stronie Kontakt */
.fransi-contact-business { padding: 22px 25px; border: 1px solid #dfc39a; border-radius: 14px; background: #fffaf2; }
.fransi-contact-business h2 { margin: 0 0 18px; font: 500 29px/1.2 var(--serif); color: #865e32; }
.fransi-contact-business p { margin: 9px 0; line-height: 1.6; }
.fransi-contact-business a { color: #946b39; text-decoration: underline; text-underline-offset: 3px; }

/* v1.7.2 — informacja o odstąpieniu od umowy i wzór formularza */
.fransi-returns-legal { max-width: 860px; margin: 42px auto 60px; padding: clamp(20px,4vw,44px); border: 1px solid #dec49b; border-radius: 16px; background: #fffaf2; color: #594934; line-height: 1.7; }
.fransi-returns-legal h2 { font: 500 clamp(27px,3vw,37px)/1.2 var(--serif); color:#805b32; margin:28px 0 16px; }
.fransi-returns-legal h3 { font: 500 26px/1.3 var(--serif); color:#805b32; margin:28px 0 12px; }
.fransi-returns-legal p { margin: 0 0 18px; }
.fransi-returns-legal address { font-style:normal; background:#f6f0e5; border-left:3px solid #c69a5b; padding:15px 20px; margin:20px 0; }
.fransi-returns-legal a:not(.btn) { color:#9d713b; text-decoration:underline; }
.fransi-withdrawal-form { margin-top:20px; padding:22px; border:1px solid #e7d5b8; border-radius:12px; background:#fff; }
.fransi-form-line { display:block; border-bottom:1px solid #bfae98; min-height:24px; margin:10px 0 25px; }
.fransi-returns-note { font-size:13px; }
@media print { .fransi-returns-legal { border:0; background:white; } .fransi-withdrawal-form { break-inside:avoid; } }

.fransi-regulations { max-width:1100px; margin:32px auto 65px; padding:0 18px; }
.fransi-regulations__body { padding:clamp(20px,4vw,48px); background:#fffaf3; border:1px solid #dec59f; border-radius:16px; color:#594b3a; line-height:1.7; }
.fransi-regulations h2 { font:500 clamp(24px,3vw,32px)/1.2 var(--serif); color:#805d36; margin:35px 0 16px; }
.fransi-regulations ol { padding-left:25px; }
.fransi-regulations li { padding-left:6px; margin:0 0 13px; }
.fransi-regulations li ul { padding-left:22px; margin:10px 0; list-style:disc; }
.fransi-regulations li ul li { margin-bottom:5px; }
.fransi-regulations a { color:#976e3d; text-decoration:underline; }
.fransi-regulations-link { color:#9a743e; font-size:13px; text-decoration:underline; text-underline-offset:3px; }

.fransi-privacy .fransi-regulations__body > section:first-child h2 { margin-top:0; }

/* Linki prawne obok siebie w stopce */
.fransi-legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px;margin:8px 0;}
.fransi-legal-links a{display:inline-block;white-space:nowrap;}

/* v1.7.7: prezentacja metod płatności w stopce */
.fransi-payment-methods { text-align:center; margin: 30px auto 18px; padding: 22px 15px 12px; max-width:520px; }
.fransi-payment-methods h2 { font:500 27px/1.2 "Cormorant Garamond",serif; color:#ad8652; margin:0 0 7px; }
.fransi-payment-methods p { font-size:13px; margin:0 0 16px; opacity:.88; }
.fransi-payment-methods img { display:block; width:300px; max-width:100%; height:auto; margin:0 auto; border-radius:5px; }


/* v1.7.8 — naprawa mobilnego układu: zapobiega rozsuwaniu strony poza ekran. */
@media (max-width: 760px) {
  html { width:100% !important; max-width:100% !important; overflow-x:clip !important; }
  body { width:100% !important; max-width:100% !important; min-width:0 !important; margin:0 !important; overflow-x:clip !important; }
  *, *::before, *::after { box-sizing:border-box; }
  .site-header, .site-main, .site-footer,
  .fransi-homepage, .fransi-hero-real, .fransi-category-panel,
  .fransi-featured-products, .fransi-category-links {
    min-width:0 !important;
    max-width:100% !important;
  }
  .site-header { width:100% !important; }
  .site-header .site-header__bar {
    display:grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:8px 12px !important;
  }
  .site-header .site-header__side--left { display:none !important; }
  .site-header .brand { min-width:0 !important; max-width:100% !important; width:auto !important; }
  .site-header .brand__signature { max-width:100% !important; }
  .site-header .brand__blue-mark img { max-width:120px !important; width:100% !important; height:auto !important; }
  .site-header .site-header__side--right {
    display:flex !important; align-items:center !important; gap:8px !important;
    width:auto !important; max-width:100% !important; min-width:0 !important;
    position:static !important; transform:none !important; margin:0 !important;
  }
  .site-header .site-search--inline {
    width:auto !important; min-width:0 !important; max-width:100% !important;
    position:static !important; transform:none !important;
  }
  .site-header .site-search--inline form,
  .site-header .site-search--inline .search-form {
    width: min(42vw, 190px) !important; max-width:100% !important;
    min-width:0 !important; margin:0 !important;
  }
  .site-header .site-search--inline input { min-width:0 !important; width:100% !important; }
  .site-header .primary-nav {
    grid-column:1/-1 !important; grid-row:auto !important;
    position:relative !important; inset:auto !important; transform:none !important;
    width:100% !important; max-width:100% !important; min-width:0 !important;
    margin:0 !important; padding:0 !important;
  }
  .site-header .primary-nav__list {
    display:flex !important; flex-wrap:wrap !important; align-items:stretch !important;
    gap:6px !important; width:100% !important; min-width:0 !important;
    margin:0 !important; padding:0 !important;
  }
  .site-header .primary-nav__list > li {
    flex:1 1 130px !important; width:auto !important; min-width:0 !important;
    max-width:100% !important; margin:0 !important;
  }
  .site-header .primary-nav__list > li > a { display:block !important; max-width:100% !important; }
  .site-header .primary-nav__list .mega__panel,
  .site-header .primary-nav__list .sub-menu {
    left:0 !important; right:auto !important; max-width:calc(100vw - 24px) !important;
    min-width:0 !important; box-sizing:border-box !important;
  }
  .fransi-homepage {
    width:calc(100% - 24px) !important; max-width:calc(100% - 24px) !important;
    margin:12px auto 0 !important; padding:0 0 36px !important;
  }
  .fransi-homepage .fransi-hero-real {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important;
    width:100% !important; min-height:0 !important; overflow:hidden !important;
  }
  .fransi-hero-real__copy { min-width:0 !important; padding:22px !important; }
  .fransi-hero-real__photo { min-width:0 !important; width:100% !important; min-height:190px !important; }
  .fransi-homepage .fransi-category-panel {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important;
    width:100% !important; gap:12px !important; padding:9px !important;
    overflow:hidden !important;
  }
  .fransi-category-promo { width:100% !important; min-width:0 !important; min-height:220px !important; }
  .fransi-category-promo__copy { max-width:100% !important; min-width:0 !important; }
  .fransi-category-links {
    display:grid !important; grid-template-columns:minmax(0,1fr) !important;
    width:100% !important; padding:0 !important; gap:8px !important;
  }
  .fransi-category-pill { width:100% !important; min-width:0 !important; max-width:100% !important; }
  .fransi-featured-products ul.products { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .fransi-collection-banner,.fransi-reviews { max-width:100% !important; }
  .fransi-snowfall { max-width:100vw !important; pointer-events:none !important; }
}
@media (max-width:380px) {
  .site-header .site-search--inline form,
  .site-header .site-search--inline .search-form { width:35vw !important; }
  .site-header .brand__blue-mark img { max-width:98px !important; }
  .fransi-homepage { width:calc(100% - 16px) !important; max-width:calc(100% - 16px) !important; }
}


/* Fransi v1.7.9 — TYLKO telefon: bez liści, przywrócone menu kategorii. */
@media screen and (max-width:760px) {
  /* Wszystkie boczne ozdoby, w tym stare warstwy z poprzednich wersji. */
  html::before, html::after,
  body::before, body::after,
  .site-header::before, .site-header::after {
    content:none !important;
    display:none !important;
    background-image:none !important;
    visibility:hidden !important;
  }
  html, body {
    background-image:none !important;
    background-color:#f6f0e5 !important;
  }
  /* Przywrócenie hamburgera, który poprzednia poprawka ukryła. */
  .site-header .site-header__bar {
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) auto !important;
    grid-template-areas:"left brand right" "nav nav nav" !important;
    grid-template-rows:auto auto !important;
    gap:6px !important;
    align-items:center !important;
  }
  .site-header .site-header__side--left {
    display:flex !important;
    grid-area:left !important;
    visibility:visible !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .site-header .burger {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:36px !important;
    height:36px !important;
    padding:5px !important;
    position:relative !important;
    z-index:10070 !important;
    cursor:pointer !important;
  }
  .site-header .brand {
    grid-area:brand !important;
    min-width:0 !important;
    justify-self:start !important;
  }
  .site-header .site-header__side--right {
    grid-area:right !important;
    min-width:0 !important;
    gap:3px !important;
  }
  .site-header .site-search.site-search--inline {
    width:min(32vw,140px) !important;
    max-width:min(32vw,140px) !important;
  }
  .site-header .site-search--inline form,
  .site-header .site-search--inline .search-form {
    width:100% !important;
  }
  .site-header .primary-nav {
    grid-area:nav !important;
    grid-column:1/-1 !important;
    grid-row:2 !important;
    display:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    position:relative !important;
    inset:auto !important;
    transform:none !important;
    overflow:visible !important;
    z-index:10050 !important;
  }
  .site-header .primary-nav.is-open { display:block !important; }
  .site-header .primary-nav__list {
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    gap:0 !important;
    padding:0 !important;
    margin:0 !important;
    align-items:stretch !important;
  }
  .site-header .primary-nav__list > li {
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    position:relative !important;
  }
  .site-header .primary-nav__list > li > a,
  .site-header .primary-nav__list > li > button {
    display:flex !important;
    width:100% !important;
    justify-content:space-between !important;
    align-items:center !important;
    min-height:43px !important;
    font-size:12px !important;
    padding:12px 14px !important;
  }
  .site-header .primary-nav__list .mega__panel,
  .site-header .primary-nav__list .sub-menu {
    max-width:100% !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  /* Kategorie na stronie głównej widoczne niezależnie od menu. */
  .fransi-homepage .fransi-category-links {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    overflow:visible !important;
  }
  .fransi-homepage .fransi-category-pill {
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:46px !important;
  }
}

/* v1.8.0: Na telefonie bez wyskakującego panelu kategorii.
   Kategorie w sekcji strony głównej nadal są widoczne i klikalne. */
@media screen and (max-width:760px) {
  #primary-nav .mega__panel,
  #primary-nav .fransi-categories-menu .mega__panel,
  #primary-nav .mega.is-open .mega__panel {
    display:none !important; visibility:hidden !important; opacity:0 !important;
    pointer-events:none !important; max-height:0 !important; overflow:hidden !important;
  }
}

/* v1.8.1 — stabilne logo w nagłówku na telefonie. Bez zmian desktopu. */
@media screen and (max-width:760px) {
  .site-header .site-header__bar {
    grid-template-columns:38px minmax(0,1fr) auto !important;
    grid-template-areas:"left brand right" "nav nav nav" !important;
    column-gap:8px !important;
    width:100% !important;
    padding:8px 10px !important;
    overflow:visible !important;
  }
  .site-header .brand {
    grid-area:brand !important;
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:center !important;
    align-self:center !important;
    position:static !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    min-width:0 !important;
    max-width:100% !important;
    width:auto !important;
    height:auto !important;
    text-align:center !important;
    overflow:visible !important;
  }
  .site-header .brand__signature {
    position:static !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }
  .site-header .brand__blue-mark {
    display:block !important;
    position:static !important;
    transform:none !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .site-header .brand__blue-mark img {
    display:block !important;
    position:static !important;
    transform:none !important;
    width:clamp(70px,22vw,104px) !important;
    max-width:100% !important;
    height:auto !important;
    max-height:88px !important;
    object-fit:contain !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .site-header .brand__motto { display:none !important; }
  .site-header .site-header__side--left { grid-area:left !important; grid-column:1 !important; grid-row:1 !important; }
  .site-header .site-header__side--right { grid-area:right !important; grid-column:3 !important; grid-row:1 !important; }
  .site-header #primary-nav { grid-area:nav !important; grid-column:1/-1 !important; grid-row:2 !important; }
}


/* Fransi 1.8.4: przycisk WooCommerce musi pozostać dostępny dla integracji Furgonetka Koszyk. */
@media (max-width:760px) {
  .woocommerce-cart .wc-proceed-to-checkout > a.checkout-button,
  .woocommerce-cart .wc-block-cart__submit-button,
  .woocommerce-cart .wc-block-cart__submit-container > a {
    display: flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* FRANSI CART REDESIGN 1.8.5 — wyłącznie wygląd; mechanika WooCommerce bez zmian */
body.woocommerce-cart .woocommerce {
  max-width: 1240px;
  margin: 0 auto;
  color: #493a2c;
  font-family: var(--sans);
}
body.woocommerce-cart .woocommerce::after { content: ""; display: table; clear: both; }
body.woocommerce-cart .woocommerce-notices-wrapper { clear: both; }
body.woocommerce-cart .woocommerce .woocommerce-cart-form {
  float: left;
  width: min(62%, 760px);
  margin: 0 0 32px;
}
body.woocommerce-cart .woocommerce .cart-collaterals {
  float: right;
  width: 35%;
  margin: 0 0 36px;
}
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
  padding: 26px;
  border: 1px solid #e8daca;
  background: #fffdf9;
  border-radius: 12px;
  box-shadow: 0 12px 34px rgba(86,65,43,.055);
}
body.woocommerce-cart .cart_totals h2 {
  font: 500 32px/1.1 var(--serif);
  color: #674c35;
  margin: 0 0 22px;
}
body.woocommerce-cart table.shop_table {
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 12px !important;
  background: transparent;
  width: 100%;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead { display: none; }
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
  background: #fffdf9;
  box-shadow: 0 7px 24px rgba(86,65,43,.05);
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
  padding: 20px 12px !important;
  border-top: 1px solid #eadfce !important;
  border-bottom: 1px solid #eadfce !important;
  vertical-align: middle;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td:first-child {
  border-left: 1px solid #eadfce !important;
  border-radius: 12px 0 0 12px;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td:last-child {
  border-right: 1px solid #eadfce !important;
  border-radius: 0 12px 12px 0;
}
body.woocommerce-cart .product-thumbnail img {
  width: 100px !important;
  max-width: 100px !important;
  height: 122px !important;
  object-fit: cover;
  border-radius: 8px;
}
body.woocommerce-cart .product-name a {
  color: #5c4632 !important;
  font: 500 21px/1.15 var(--serif);
  text-decoration: none;
}
body.woocommerce-cart .product-price,
body.woocommerce-cart .product-subtotal {
  color: #76553a;
  font-weight: 500;
  white-space: nowrap;
}
body.woocommerce-cart .quantity .qty {
  width: 62px !important;
  min-height: 42px;
  border: 1px solid #decab3;
  border-radius: 7px;
  background: #fff;
  color: #493a2c;
}
body.woocommerce-cart .product-remove a.remove {
  color: #977d66 !important;
  font-size: 23px;
}
body.woocommerce-cart .product-remove a.remove:hover { background: #755a43 !important; color: #fff !important; }
body.woocommerce-cart .woocommerce-cart-form td.actions {
  padding: 24px 0 !important;
  border: 0 !important;
  background: transparent;
}
body.woocommerce-cart .woocommerce-cart-form .coupon {
  float: none !important;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px;
  background: #fffdf9;
  border: 1px solid #e8daca;
  border-radius: 12px;
}
body.woocommerce-cart .woocommerce-cart-form .coupon::before {
  content: "Masz kod promocyjny?";
  flex-basis: 100%;
  font: 500 23px/1.2 var(--serif);
  color: #674c35;
  margin-bottom: 4px;
}
body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code {
  flex: 1 1 170px;
  width: auto !important;
  min-width: 0;
  min-height: 45px;
  padding: 10px 14px;
  border: 1px solid #decab3;
  border-radius: 7px;
  background: #fff;
}
body.woocommerce-cart .woocommerce-cart-form .coupon button.button,
body.woocommerce-cart .woocommerce-cart-form .coupon input.button {
  min-height: 45px;
  padding: 10px 18px;
  border-radius: 7px;
  background: #e9ded0 !important;
  color: #604833 !important;
  font-weight: 500;
}
body.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"] {
  margin-top: 12px;
  border-radius: 7px;
}
body.woocommerce-cart .cart_totals table.shop_table { border-spacing: 0 !important; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  padding: 14px 5px !important;
  border-top: 1px solid #eadfce !important;
  vertical-align: top;
}
body.woocommerce-cart .cart_totals table.shop_table th {
  color: #806b56;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.woocommerce-cart .cart_totals .order-total .amount {
  font-size: 22px;
  color: #604833;
}
body.woocommerce-cart .cart_totals ul#shipping_method li {
  margin: 0 0 12px;
  padding: 0;
  line-height: 1.4;
}
body.woocommerce-cart .cart_totals ul#shipping_method label {
  font-size: 13px;
  line-height: 1.5;
  cursor: pointer;
}
body.woocommerce-cart .cart_totals ul#shipping_method input {
  accent-color: #785d44;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  justify-content: center;
  align-items: center;
  min-height: 56px;
  padding: 15px 18px !important;
  border-radius: 7px !important;
  background: #70533d !important;
  color: #fff !important;
  font: 500 14px/1.4 var(--sans) !important;
  letter-spacing: .035em;
  text-align: center;
  opacity: 1;
  visibility: visible !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #523b2a !important;
}
body.woocommerce-cart .woocommerce .woocommerce-info,
body.woocommerce-cart .woocommerce .woocommerce-message {
  background: #fffdf9;
  border-top-color: #a98b68;
}
@media (max-width: 1020px) {
  body.woocommerce-cart .woocommerce .woocommerce-cart-form,
  body.woocommerce-cart .woocommerce .cart-collaterals {
    width: 100%;
    float: none;
  }
  body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
    max-width: 640px;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
    display: block;
    padding: 12px 14px;
    border: 1px solid #eadfce;
    border-radius: 12px;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td:first-child,
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td:last-child {
    border: 0 !important;
    border-radius: 0;
    padding: 8px 0 !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail {
    display: block !important;
    text-align: left !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail::before { display: none; }
  body.woocommerce-cart .product-thumbnail img {
    width: 115px !important;
    max-width: 115px !important;
    height: 145px !important;
  }
  body.woocommerce-cart .woocommerce-cart-form table.shop_table td[data-title]::before {
    color: #897560;
    font-size: 12px;
  }
  body.woocommerce-cart .woocommerce-cart-form .coupon { padding: 16px; }
  body.woocommerce-cart .woocommerce-cart-form .coupon #coupon_code { flex-basis: 100%; }
  body.woocommerce-cart .woocommerce-cart-form .coupon button.button { width: 100%; }
  body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding: 20px 16px; }
}


/* Baner kolekcji Andrzejkowej — strona główna */
.fransi-andrzejki-banner {
  width: 100%;
  margin: 20px auto 18px;
  overflow: hidden;
  border-radius: 17px;
  border: 1px solid #b99b6b;
  background: #230713;
  box-shadow: 0 8px 24px rgba(56, 27, 28, .09);
}
.fransi-andrzejki-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
@media (max-width: 767px) {
  .fransi-andrzejki-banner { margin: 14px auto; border-radius: 10px; }
}
