/* Autor: PRZ · joost.pl (https://joost.pl)
   DomoradzkiLab – menu hamburger: przycisk w nagłówku + pełnoekranowa nakładka w stylu strony (granat, beż, Geologica). */

:root { --dlm-bg: #111827; --dlm-gold: #c6b099; --dlm-ink: #e6e1d9; --dlm-pad: clamp(18px, 4vw, 56px); }

#mobile-toggle, .mobile-toggle-open-container, #mobile-drawer { display: none !important; }
.dl-burger {
	display: inline-flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 8px;
	width: 44px; height: 44px; margin: 0 0 0 clamp(14px, 2vw, 28px); padding: 0 8px;
	background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important;
	cursor: pointer; color: var(--dlm-gold); -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.dl-burger span { display: block; height: 2px; background: currentColor; transition: width .35s ease-in-out, background-color .3s ease-in-out; }
.dl-burger span:nth-child(1) { width: 28px; }
.dl-burger span:nth-child(2) { width: 18px; }
.dl-burger:hover span, .dl-burger:focus-visible span { background: #fff; }
.dl-burger:hover span:nth-child(2), .dl-burger:focus-visible span:nth-child(2) { width: 28px; }
.dl-burger:focus-visible { outline: 1px solid var(--dlm-gold); outline-offset: 2px; }
#masthead .site-header-main-section-right { align-items: center; }

html.dl-menu-open { overflow: hidden; }
.dl-menu {
	position: fixed; inset: 0; z-index: 100000;
	display: flex; flex-direction: column;
	padding: 0 var(--dlm-pad);
	color: var(--dlm-ink);
	background:
		radial-gradient(ellipse 70% 60% at 85% 10%, rgba(198, 176, 153, .10), transparent 70%),
		radial-gradient(ellipse 60% 50% at 0% 100%, rgba(198, 176, 153, .06), transparent 70%),
		var(--dlm-bg);
	opacity: 0; visibility: hidden;
	transition: opacity .4s ease-in-out, visibility 0s linear .4s;
	overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
	font-family: 'Geologica', sans-serif;
}
.dl-menu[hidden] { display: none; }
html.dl-menu-open .dl-menu { opacity: 1; visibility: visible; transition-delay: 0s; }

.dl-menu__bar { display: flex; align-items: center; justify-content: space-between; max-width: 1290px; width: 100%; margin: 0 auto; padding: 28px 0 0; min-height: 84px; }
.dl-menu__brand { font-size: .8rem; letter-spacing: .24em; text-transform: uppercase; color: var(--dlm-ink); }
.dl-menu__close {
	position: relative; width: 44px; height: 44px; padding: 0; margin-right: -8px;
	background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important; cursor: pointer; color: var(--dlm-gold);
	-webkit-tap-highlight-color: transparent;
}
.dl-menu__close span { position: absolute; left: 8px; top: 21px; width: 28px; height: 1.5px; background: currentColor; transition: background-color .3s ease-in-out; }
.dl-menu__close span:nth-child(1) { transform: rotate(45deg); }
.dl-menu__close span:nth-child(2) { transform: rotate(-45deg); }
.dl-menu__close:hover, .dl-menu__close:focus-visible { color: #fff; }
.dl-menu__close:focus-visible { outline: 1px solid var(--dlm-gold); outline-offset: 2px; }

.dl-menu__body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 48px; max-width: 1290px; width: 100%; margin: 0 auto; padding: clamp(24px, 6vh, 72px) 0 36px; }
.dl-menu__list { list-style: none; margin: 0 !important; padding: 0 !important; }
.dl-menu__list li { margin: 0; padding: 0; border-bottom: 1px solid rgba(198, 176, 153, .18); opacity: 0; transform: translateY(14px); transition: opacity .5s ease-out, transform .5s ease-out; }
.dl-menu__list li:first-child { border-top: 1px solid rgba(198, 176, 153, .18); }
html.dl-menu-open .dl-menu__list li { opacity: 1; transform: none; }
html.dl-menu-open .dl-menu__list li:nth-child(1) { transition-delay: .08s; }
html.dl-menu-open .dl-menu__list li:nth-child(2) { transition-delay: .14s; }
html.dl-menu-open .dl-menu__list li:nth-child(3) { transition-delay: .20s; }
html.dl-menu-open .dl-menu__list li:nth-child(4) { transition-delay: .26s; }
html.dl-menu-open .dl-menu__list li:nth-child(5) { transition-delay: .32s; }
html.dl-menu-open .dl-menu__list li:nth-child(n+6) { transition-delay: .38s; }
.dl-menu__list a {
	display: flex; align-items: baseline; gap: clamp(14px, 3vw, 36px);
	padding: clamp(14px, 2.4vh, 26px) 0;
	color: var(--dlm-gold); text-decoration: none; text-transform: uppercase;
	transition: color .3s ease-in-out, padding-left .4s ease-in-out;
}
.dl-menu__n { flex: none; min-width: 2.2em; font-size: .8rem; letter-spacing: .2em; color: #8c7d6b; transition: color .3s ease-in-out; }
.dl-menu__t { font-size: clamp(1.7rem, 1rem + 3.4vw, 3.6rem); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; }
.dl-menu__list a:hover, .dl-menu__list a:focus-visible { color: #fff; padding-left: 14px; }
.dl-menu__list a:hover .dl-menu__n, .dl-menu__list a:focus-visible .dl-menu__n { color: var(--dlm-gold); }
.dl-menu__list a:focus-visible { outline: 1px solid var(--dlm-gold); outline-offset: -1px; }
.dl-menu__list a[aria-current="page"] { color: #fff; }
.dl-menu__list a[aria-current="page"] .dl-menu__n { color: var(--dlm-gold); }

.dl-menu__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; font-size: .95rem; }
.dl-menu__foot a { color: var(--dlm-gold); text-decoration: none; transition: color .3s ease-in-out; }
.dl-menu__foot a:hover, .dl-menu__foot a:focus-visible { color: #fff; }
.dl-menu__contact { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.dl-menu__lang { display: flex; gap: 6px; }
.dl-menu__lang a { padding: 6px 12px; font-size: .8rem; letter-spacing: .14em; border: 1px solid rgba(198, 176, 153, .35); }
.dl-menu__lang a[aria-current="true"] { background: var(--dlm-gold); border-color: var(--dlm-gold); color: #182033; }
.dl-menu__lang a[aria-current="true"]:hover { color: #182033; }
.dl-menu__legal { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px 20px; padding-top: 18px; border-top: 1px solid rgba(198, 176, 153, .18); font-size: .8125rem; }
.dl-menu__legal a { color: #b9a68f; }

@media (max-width: 640px) {
	.dl-burger { margin-left: 0; }
	.dl-menu__bar { padding-top: 18px; min-height: 68px; }
	.dl-menu__foot { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
	.dl-menu, .dl-menu__list li, .dl-menu__list a, .dl-burger span { transition: none !important; }
}
