/* =====================================================================
   Pod Lwami — detale z makiet, których Divi 5 nie ma w ustawieniach modułów.
   Kolory, fonty, odstępy i układ są w samych modułach (JSON).
   ===================================================================== */
:root {
	--pl-cream: #F8F3EB;
	--pl-cream2: #F2EADD;
	--pl-paper: #FFFDF9;
	--pl-ink: #2A1F1A;
	--pl-body: #5B4F46;
	--pl-muted: #8A7D72;
	--pl-burg: #7F1118;
	--pl-burg-h: #62090F;
	--pl-gold: #C0904F;
	--pl-gold-l: #D9B57A;
	--pl-line: #E6DACA;
	--pl-dark: #1E1510;
	--pl-serif: 'Cormorant Garamond', Georgia, serif;
	--pl-sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;
}

body,
#page-container,
#et-main-area,
#main-content { background-color: var(--pl-cream); }
body { color: var(--pl-body); font-family: var(--pl-sans); -webkit-font-smoothing: antialiased; }
#main-content .container:before { display: none; }
::selection { background: var(--pl-gold-l); color: var(--pl-ink); }
a { color: var(--pl-burg); }
.pl-center p { margin-left: auto; margin-right: auto; }

/* ---------- nagłówek ---------- */
.pl-header { box-shadow: 0 1px 0 rgba(42, 31, 26, .04); transition: box-shadow .3s; }
.pl-header.et_pb_sticky--top,
.et_pb_sticky .pl-header { box-shadow: 0 8px 24px rgba(42, 31, 26, .08); }
.pl-logo img { width: auto !important; max-height: 62px; display: block; }
.pl-logo .et_pb_image_wrap { display: block; }
@media (max-width: 980px) { .pl-logo img { max-height: 50px; } }

/* menu: wielkie litery, złota kreska pod aktywną pozycją */
.pl-menu .et-menu > li { padding-left: 13px; padding-right: 13px; }
.pl-menu .et-menu > li > a { position: relative; padding-bottom: 6px !important; }
/* złota kreska pod pozycją menu (::before — ::after zajmuje strzałka podmenu Divi) */
.pl-menu .et-menu > li > a:before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--pl-gold);
	transform: scaleX(0);
	transition: transform .25s ease;
}
.pl-menu .et-menu > li.current-menu-item > a:before,
.pl-menu .et-menu > li.current-menu-ancestor > a:before,
.pl-menu .et-menu > li.current_page_parent > a:before,
.pl-menu .et-menu > li > a:hover:before { transform: scaleX(1); }
.pl-menu .et-menu > li.menu-item-has-children > a:before { right: 18px; }
/* strzałka podmenu: mały złoty szewron, wyśrodkowany w pionie, obraca się po najechaniu */
.pl-menu .et-menu .menu-item-has-children > a:first-child { padding-right: 18px !important; }
.pl-menu .et-menu .menu-item-has-children > a:first-child:after {
	font-size: 15px !important;
	line-height: 1 !important;
	top: 50% !important;
	right: 0 !important;
	margin-top: -10px;
	color: var(--pl-gold);
	transition: transform .25s ease;
}
.pl-menu .et-menu .menu-item-has-children:hover > a:first-child:after { transform: rotate(180deg); }
.pl-menu .sub-menu { border-top: 2px solid var(--pl-gold) !important; box-shadow: 0 14px 30px rgba(42, 31, 26, .12) !important; padding: 12px 0 !important; width: 260px !important; }
.pl-menu .sub-menu li { padding: 0 18px !important; }
.pl-menu .sub-menu a { width: 224px !important; text-transform: none; letter-spacing: .02em; padding: 8px 0 !important; }
.pl-menu .et_mobile_menu { border-top: 2px solid var(--pl-gold); box-shadow: 0 18px 36px rgba(42, 31, 26, .14); }
.pl-menu .et_mobile_menu li a { border-bottom: 1px solid var(--pl-line); padding: 12px 6%; }
.pl-menu .pl-mobile-cta a { background: var(--pl-burg); color: #fff !important; text-align: center; letter-spacing: .12em; }
.pl-header-phone .et_pb_main_blurb_image { margin-bottom: 0; }
.pl-header-phone .et_pb_blurb_content { display: flex; align-items: center; }
.pl-header-phone .et-pb-icon {
	width: 30px; height: 30px; line-height: 28px !important; text-align: center; border-radius: 50%;
	border: 1px solid var(--pl-burg); color: var(--pl-burg) !important;
}
.pl-header-phone .et_pb_module_header { padding-bottom: 0 !important; white-space: nowrap; }
.pl-header-phone .et_pb_module_header a { color: inherit; }
@media (min-width: 981px) and (max-width: 1200px) {
	.pl-menu .et-menu > li { padding-left: 8px; padding-right: 8px; }
	.pl-header-phone { display: none; }
}

/* ---------- hero ---------- */
.pl-hero h1 { text-wrap: balance; }
.pl-hero-feature .et_pb_blurb_content { display: flex; align-items: center; gap: 12px; }
.pl-hero-feature .et_pb_main_blurb_image { margin-bottom: 0 !important; }
.pl-hero-feature .et_pb_module_header { padding-bottom: 0 !important; line-height: 1.35 !important; }

/* ---------- typografia pomocnicza ---------- */
.pl-eyebrow p { margin: 0; }
.pl-script p { margin: 0; transform: rotate(-4deg); transform-origin: left center; }
.pl-script p:after {
	content: ''; display: block; width: 46px; height: 1px; background: var(--pl-gold); margin: 10px 0 0 auto; transform: rotate(4deg);
}

/* znak wodny — herb w tle sekcji */
.pl-lion-bg { position: relative; overflow: hidden; }
.pl-lion-bg:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 32%;
	width: 340px;
	height: 160px;
	transform: translate(-50%, -50%);
	background: url(../images/pod-lwami-herb-zloto.svg) no-repeat center / contain;
	opacity: .09;
	pointer-events: none;
	z-index: 0;
}
.pl-lion-bg > .et_pb_row { position: relative; z-index: 1; }
.pl-lion-mark { position: relative; }
.pl-lion-mark:before {
	content: ''; position: absolute; inset: -20px 40% -20px -10%;
	background: url(../images/pod-lwami-herb-zloto.svg) no-repeat center / contain; opacity: .08;
}
@media (max-width: 980px) { .pl-lion-bg:before { left: 70%; top: 18%; } }

/* ---------- zdjęcia ---------- */
.pl-photo img { box-shadow: 0 18px 40px rgba(42, 31, 26, .14); }
.pl-photo--fill,
.pl-photo--fill .et_pb_image_wrap,
.pl-photo--fill img { height: 100% !important; }
.pl-gal { overflow: hidden; }
.pl-gal img { transition: transform .6s ease; }
.pl-gal:hover img { transform: scale(1.05); }
.pl-gal .et_overlay { background: rgba(127, 17, 24, .35) !important; border: 0 !important; }
.pl-gal .et_overlay:before { color: #fff !important; }
@media (max-width: 980px) {
	.pl-img-first { order: -1; }
	.pl-hide-tablet { display: none !important; }
}

/* ---------- pasy zalet ---------- */
@media (min-width: 768px) {
	.pl-sep { border-right: 1px solid var(--pl-line); }
}
.pl-feature .et_pb_main_blurb_image { margin-bottom: 14px !important; }
.pl-feature .et_pb_module_header { padding-bottom: 0 !important; }
.pl-feature a { color: inherit; }
.pl-mini-features .et_pb_blurb_content { display: flex; align-items: center; gap: 10px; }
.pl-mini-features .et_pb_main_blurb_image { margin: 0 !important; }
.pl-mini-features .et_pb_module_header { padding-bottom: 0 !important; line-height: 1.35 !important; }
.pl-mini-features .et_pb_module_header a { color: var(--pl-ink); }

/* ---------- karty ---------- */
.pl-card .et_pb_image { margin-bottom: 0 !important; }
.pl-card .pl-card__img { overflow: hidden; }
.pl-card .pl-card__img img { transition: transform .6s ease; }
.pl-card:hover .pl-card__img img { transform: scale(1.04); }
.pl-card__body { box-shadow: 0 16px 34px rgba(42, 31, 26, .07); flex-grow: 1; }
.pl-card { display: flex; flex-direction: column; }
.pl-spec { box-shadow: 0 16px 34px rgba(42, 31, 26, .06); }

/* ---------- karta dań ---------- */
.pl-menu-nav { box-shadow: 0 14px 34px rgba(42, 31, 26, .06); }
.pl-menu-nav__item .et_pb_main_blurb_image { margin-bottom: 10px !important; }
.pl-menu-nav__item .et_pb_module_header { padding-bottom: 0 !important; }
.pl-menu-nav__item .et_pb_module_header a { color: var(--pl-ink); }
.pl-menu-nav__item:hover .et_pb_module_header a { color: var(--pl-burg); }
.pl-menu-card { scroll-margin-top: 110px; box-shadow: 0 16px 34px rgba(42, 31, 26, .06); }
.pl-menu-card__list { flex: 1 1 auto; min-width: 0; }
.pl-menu-card__img { flex: 0 0 34%; max-width: 34%; }
.pl-menu-card__img img { box-shadow: 0 10px 24px rgba(42, 31, 26, .14); }
@media (max-width: 767px) {
	.pl-menu-card__img { flex-basis: auto; max-width: 100%; width: 100%; order: -1; }
}
.pl-menu-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.pl-menu-list li { padding: 11px 0 12px; border-bottom: 1px solid var(--pl-line); line-height: 1.4; }
.pl-menu-list li:last-child { border-bottom: 0; }
.pl-dish { display: flex; align-items: baseline; gap: 10px; }
.pl-dish__name { font-family: var(--pl-sans); font-weight: 500; font-size: 16px; color: var(--pl-ink); }
.pl-dish__dots { flex: 1 1 auto; min-width: 16px; border-bottom: 1px dotted #CDBDA8; transform: translateY(-4px); }
.pl-dish__price { font-family: var(--pl-serif); font-weight: 700; font-size: 19px; color: var(--pl-burg); white-space: nowrap; }
.pl-dish__meta { display: block; margin-top: 3px; font-size: 13px; font-style: italic; color: var(--pl-muted); }
@media (min-width: 981px) {
	.pl-menu-text--2col .pl-menu-list { column-count: 2; column-gap: 56px; }
	.pl-menu-text--2col .pl-menu-list li { break-inside: avoid; }
}

/* ---------- listy z ikonami (moduł Icon List) ---------- */
.pl-checks .et_pb_icon_list_item { margin-bottom: 8px; }
@media (min-width: 981px) {
	.pl-checks--2col .et_pb_icon_list_items,
	.pl-checks--2col > .et_pb_module_inner > ul,
	.pl-checks--2col ul { column-count: 2; column-gap: 30px; }
	.pl-checks--2col li,
	.pl-checks--2col .et_pb_icon_list_item { break-inside: avoid; }
}

/* ---------- okruszki ---------- */
.et_pb_breadcrumbs a:hover { color: var(--pl-burg) !important; }

/* ---------- formularz ---------- */
.pl-form .et_pb_contact_field { margin-bottom: 14px; }
.pl-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #8A7D72 50%), linear-gradient(135deg, #8A7D72 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.pl-form .et_contact_bottom_container { float: none; display: flex; justify-content: flex-start; align-items: center; gap: 14px; margin-top: 6px; }
.pl-form .et_pb_contact_right { font-family: var(--pl-sans); color: var(--pl-body); }
.pl-form .et_pb_contact_field_checkbox label { font-size: 13px; line-height: 1.6; }
.pl-form-card { scroll-margin-top: 100px; box-shadow: 0 18px 40px rgba(42, 31, 26, .07); }

/* ---------- elementy kontaktu ---------- */
.pl-contact-item .et_pb_blurb_content,
.pl-footer-item .et_pb_blurb_content { display: flex; align-items: flex-start; gap: 14px; }
.pl-contact-item .et_pb_main_blurb_image,
.pl-footer-item .et_pb_main_blurb_image { margin: 2px 0 0 !important; }
.pl-contact-item .et_pb_module_header,
.pl-footer-item .et_pb_module_header { padding-bottom: 0 !important; line-height: 1.5 !important; }
.pl-contact-item .et_pb_module_header a { color: var(--pl-ink); }
.pl-footer-item .et_pb_module_header a { color: inherit; }
.pl-contact-item a:hover,
.pl-footer-item a:hover { color: var(--pl-gold) !important; }

/* ---------- mapa (mapy.uk) ---------- */
.pl-map-wrap,
.pl-map-wrap .et_pb_text_inner { width: 100%; }
.pl-mapuk { position: relative; width: 100%; min-height: 200px; background: #EEE7DC; overflow: hidden; }
.pl-mapuk .maplibregl-ctrl-attrib { font-size: 10px; }
.pl-mapuk__open {
	position: absolute; right: 12px; bottom: 12px; z-index: 3; padding: 8px 14px; background: #fff;
	box-shadow: 0 6px 18px rgba(42, 31, 26, .16); font-family: var(--pl-sans); font-weight: 500; font-size: 11px;
	letter-spacing: .14em; text-transform: uppercase; color: var(--pl-burg) !important; text-decoration: none !important;
}
.pl-mapuk__open:hover { background: var(--pl-burg); color: #fff !important; }
.pl-pin { display: flex; align-items: flex-end; gap: 10px; pointer-events: none; }
/* znacznik: okrągła plakietka z herbem w złotej obwódce + ostrze wskazujące punkt */
.pl-pin__badge {
	position: relative; display: block; width: 52px; height: 52px; margin-bottom: 12px; border-radius: 50%;
	background: #7F1118; border: 3px solid #D9B57A; box-shadow: 0 8px 18px rgba(42, 31, 26, .35);
}
.pl-pin__badge img { display: block; width: 100%; height: 100%; border-radius: 50%; }
.pl-pin__badge:after {
	content: ''; position: absolute; left: 50%; bottom: -13px; width: 0; height: 0; transform: translateX(-50%);
	border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 12px solid #D9B57A;
}
.pl-pin__badge:before {
	content: ''; position: absolute; left: 50%; bottom: -22px; width: 12px; height: 5px; transform: translateX(-50%);
	border-radius: 50%; background: rgba(42, 31, 26, .28); filter: blur(1px);
}
.pl-pin__card {
	display: block; margin-bottom: 30px; padding: 9px 14px 10px; background: #fff; border-left: 2px solid #C0904F;
	box-shadow: 0 10px 26px rgba(42, 31, 26, .16); font-family: var(--pl-sans); color: var(--pl-ink); line-height: 1.3; white-space: nowrap;
}
.pl-pin__card strong { display: block; font-family: var(--pl-serif); font-weight: 700; font-size: 16px; color: var(--pl-burg); }
.pl-pin__card span { display: block; font-size: 12px; color: var(--pl-body); }
@media (max-width: 480px) { .pl-pin__card { display: none; } }

/* ---------- stopka ---------- */
.pl-footer-logo img { max-width: 210px !important; width: 210px; height: auto; margin: 0 auto; display: block; }
.pl-footer-logo { text-align: center; }
.pl-footer-brand { text-align: center; }
.pl-legal a { color: #9F907F; }
.pl-legal a:hover { color: var(--pl-gold-l); }
.pl-legal span[aria-hidden] { margin: 0 12px; opacity: .5; }
.pl-woh { display: inline-flex; align-items: center; gap: 8px; }
.pl-woh__link { display: inline-flex; align-items: center; }
.pl-woh__logo { height: 24px; width: auto; display: block; }
@media (max-width: 767px) {
	.pl-footer-legal p,
	.pl-footer-legal,
	.pl-footer .et_pb_row:last-child .et_pb_text { text-align: center !important; }
	.pl-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 0; }
}

/* ---------- przyciski ---------- */
.et_pb_button { transition: background-color .25s, color .25s, border-color .25s !important; }
.et_pb_button:after { font-size: 1.25em !important; }

/* dostępność: widoczny focus */
a:focus-visible,
button:focus-visible,
.et_pb_button:focus-visible { outline: 2px solid var(--pl-gold); outline-offset: 3px; }

/* ---------- blurby z ikoną obok tekstu (Divi 5: et_pb_blurb_content to flex w kolumnie) ---------- */
.pl-header-phone .et_pb_blurb_content,
.pl-hero-feature .et_pb_blurb_content,
.pl-mini-features .et_pb_blurb_content,
.pl-contact-item .et_pb_blurb_content,
.pl-footer-item .et_pb_blurb_content { flex-direction: row !important; max-width: none; }
.pl-header-phone .et_pb_blurb_content { align-items: center; gap: 10px; }
.pl-header-phone .et_pb_main_blurb_image { width: auto !important; }
/* zdjęcia: bez dolnego marginesu modułu */
.et_pb_image.pl-photo,
.et_pb_image.pl-gal,
.et_pb_image.pl-card__img,
.et_pb_image.pl-menu-card__img,
.et_pb_image.pl-logo,
.et_pb_image.pl-footer-logo { margin-bottom: 0 !important; }
/* checkbox zgody: bez tytułu pola nad polem */
.pl-form .et_pb_contact_field[data-type="checkbox"] > .et_pb_contact_form_label,
.pl-form .et_pb_contact_field_checkbox > label.et_pb_contact_form_label { display: none; }
/* zdjęcia z zadaną wysokością: zawsze pełna szerokość kolumny (Divi na tablecie/telefonie liczy szerokość z proporcji) */
.et_pb_image.pl-photo,
.et_pb_image.pl-gal,
.et_pb_image.pl-card__img,
.et_pb_image.pl-menu-card__img { width: 100% !important; max-width: 100% !important; }
.pl-photo .et_pb_image_wrap,
.pl-gal .et_pb_image_wrap,
.pl-card__img .et_pb_image_wrap,
.pl-menu-card__img .et_pb_image_wrap,
.pl-gal a,
.pl-card__img a { display: block; width: 100% !important; }
.pl-photo img,
.pl-gal img,
.pl-card__img img,
.pl-menu-card__img img { width: 100% !important; object-fit: cover; }

/* ---------- menu mobilne: pełna szerokość pod nagłówkiem ---------- */
@media (max-width: 980px) {
	.pl-header .et_pb_row,
	.pl-header .et_pb_column,
	.pl-header .et_pb_menu,
	.pl-header .et_pb_menu_inner_container,
	.pl-header .et_pb_menu__wrap,
	.pl-header .et_mobile_nav_menu,
	.pl-header .mobile_nav { position: static !important; }
	.pl-header > .et_pb_row { position: relative !important; }
	.pl-menu .et_mobile_menu {
		position: absolute !important; top: 100% !important; left: -4.35vw !important; right: auto !important;
		width: 100vw !important; max-height: calc(100vh - 80px); overflow-y: auto; padding: 8px 6% 18px !important;
	}
	.pl-menu .et_mobile_menu li a { padding: 13px 0 !important; font-size: 14px; letter-spacing: .12em; }
	.pl-menu .et_mobile_menu .sub-menu {
		padding: 0 0 0 16px !important; width: auto !important; box-shadow: none !important; border-top: 0 !important;
		background: transparent !important;
	}
	.pl-menu .et_mobile_menu .sub-menu li { padding: 0 !important; }
	.pl-menu .et_mobile_menu .sub-menu a { width: auto !important; }
	.pl-menu .et_mobile_menu .sub-menu a { text-transform: none; letter-spacing: .02em; font-size: 15px; color: var(--pl-body) !important; }
	.pl-menu .pl-mobile-cta { margin-top: 14px; }
	.pl-menu .et_mobile_menu li.pl-mobile-cta a { padding: 14px 0 !important; border: 0; color: #fff !important; background: var(--pl-burg) !important; }
}

/* ---------- nagłówek desktop: menu zawsze w jednej linii ----------
   logo i przyciski mają szerokość treści, menu dostaje resztę; na węższych ekranach mniejsze odstępy. */
@media (min-width: 981px) {
	.pl-header > .et_pb_row { flex-wrap: nowrap !important; column-gap: 24px !important; }
	.pl-header > .et_pb_row > .et_pb_column:nth-child(1) { flex: 0 0 120px !important; width: 120px !important; max-width: 120px !important; }
	.pl-header > .et_pb_row > .et_pb_column:nth-child(2) { flex: 1 1 auto !important; width: auto !important; max-width: none !important; min-width: 0; }
	.pl-header > .et_pb_row > .et_pb_column:nth-child(3) { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
	.pl-menu .et_pb_menu__menu,
	.pl-menu .et-menu-nav { width: 100%; }
	.pl-menu .et-menu { flex-wrap: nowrap !important; justify-content: center; white-space: nowrap; }
	/* podmenu: pozycje jedna pod drugą (nie dziedziczą jednej linii z menu głównego) */
	.pl-menu .et-menu .sub-menu { white-space: normal; display: block; }
	.pl-menu .et-menu .sub-menu li { display: block !important; float: none !important; width: 100%; }
}
@media (min-width: 981px) and (max-width: 1439px) {
	.pl-menu .et-menu > li { padding-left: 9px !important; padding-right: 9px !important; }
	.pl-menu .et-menu > li > a { letter-spacing: .09em !important; }
}
@media (min-width: 981px) and (max-width: 1199px) {
	.pl-header > .et_pb_row { width: 94% !important; column-gap: 16px !important; }
	.pl-header > .et_pb_row > .et_pb_column:nth-child(1) { flex-basis: 100px !important; width: 100px !important; max-width: 100px !important; }
	.pl-menu .et-menu > li { padding-left: 6px !important; padding-right: 6px !important; }
	.pl-menu .et-menu > li > a { font-size: 12px !important; letter-spacing: .06em !important; }
	.pl-header-cta .et_pb_button { padding-left: 16px !important; padding-right: 16px !important; }
}
