/*! Menu inwestycji IRO STUDIO — © 2026 IRO STUDIO (irostudio.pl). Wszelkie prawa zastrzeżone.
   Kopiowanie, modyfikowanie i rozpowszechnianie tego kodu bez pisemnej zgody autora jest zabronione. */

.mi-nav, .mi-nav * { box-sizing: border-box; }
.mi-nav { position: relative; display: flex; align-items: center; font-family: var(--mi-font, inherit); color: var(--mi-text); }
.mi-admin-msg { padding: 10px 14px; background: #fff8e5; border: 1px solid #f0c36d; color: #333; font-size: 14px; }

.mi-burger { display: none; }
.mi-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: nowrap; gap: 4px 28px; }
.mi-item { list-style: none; margin: 0; padding: 0; }
.mi-has-sub { position: relative; }

/* Pozycje: zwykły link i przycisk otwierający okno (element <button>, bez przejścia na stronę) */
.mi-link, .mi-trigger {
	position: relative; display: inline-flex; align-items: center; gap: 7px;
	padding: 14px 2px !important; margin: 0; background: none !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; color: var(--mi-text) !important; font: inherit; font-family: var(--mi-font, inherit) !important;
	font-size: var(--mi-size, 15px); font-weight: var(--mi-weight, 500); letter-spacing: var(--mi-ls, 0); line-height: 1.25;
	text-decoration: none !important; cursor: pointer; white-space: nowrap;
}
.mi-link::after, .mi-trigger::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 2px; background: var(--mi-accent);
	transform: scaleX(0); transform-origin: left; transition: transform 0.22s ease;
}
.mi-link:hover::after, .mi-item.is-open > .mi-trigger::after, .mi-item.is-current > .mi-link::after,
.mi-item.is-current > .mi-trigger::after, .mi-trigger:hover::after, .mi-link:focus-visible::after, .mi-trigger:focus-visible::after { transform: scaleX(1); }
.mi-link:focus-visible, .mi-trigger:focus-visible { outline: 2px solid var(--mi-accent); outline-offset: 2px; }

.mi-caret {
	display: inline-block; width: 7px; height: 7px; margin-top: -3px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor;
	transform: rotate(45deg); transition: transform 0.2s ease; flex: none;
}
.mi-item.is-open > .mi-trigger .mi-caret { transform: rotate(-135deg); margin-top: 3px; }

/* Okno inwestycji: pozycjonowane względem całego menu */
.mi-mega {
	position: absolute; top: 100%; left: 0; z-index: 99999;
	width: var(--mi-width); max-width: calc(100vw - 32px);
	background: var(--mi-panel); color: var(--mi-panel-text);
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.16);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}
.mi-item.is-open > .mi-mega { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mi-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; } /* most, żeby myszka nie „gubiła” okna */

.mi-mega-inner { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; padding: 34px 40px 38px; }
.mi-mega-inner.mi-single { grid-template-columns: minmax(0, 1fr); }
.mi-col-title { margin: 0 0 22px; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--mi-panel-text); }

.mi-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--mi-cards), minmax(0, 1fr)); gap: 26px 24px; }
.mi-cards li, .mi-links li { list-style: none; margin: 0; padding: 0; }
.mi-card { display: block; color: var(--mi-panel-text) !important; text-decoration: none !important; }
.mi-card-img { display: block; aspect-ratio: 5 / 4; background: #e8ebee; overflow: hidden; }
.mi-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.mi-card:hover .mi-card-img img { transform: scale(1.05); }
.mi-card-name { display: block; margin-top: 12px; font-size: 15px; line-height: 1.35; transition: color 0.15s ease; }
.mi-card:hover .mi-card-name { color: var(--mi-accent); }

.mi-links { list-style: none; margin: 0; padding: 0; }
.mi-links li { border-bottom: 1px solid rgba(127, 127, 127, 0.28); }
.mi-links a { display: block; padding: 10px 0; color: var(--mi-panel-text) !important; text-decoration: none !important; font-size: 15px; transition: color 0.15s ease; }
.mi-links a:hover { color: var(--mi-accent) !important; }

/* Proste rozwijane listy (pozycje menu z podpozycjami inne niż „inwestycje”) */
.mi-sub {
	position: absolute; top: 100%; left: -16px; z-index: 99999; min-width: 220px; margin: 0; padding: 8px 0; list-style: none;
	background: var(--mi-panel); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
	opacity: 0; visibility: hidden; transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}
.mi-item.is-open > .mi-sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mi-sub li { list-style: none; margin: 0; padding: 0; }
.mi-sub a { display: block; padding: 10px 20px; color: var(--mi-panel-text) !important; text-decoration: none !important; font-size: 15px; white-space: nowrap; }
.mi-sub a:hover { color: var(--mi-accent) !important; }

/* Ikony przy linkach tel: i mailto: (1.1.0) */
.mi-link--icon { gap: 6px; }
.mi-icon { display: block; flex: none; width: 1.05em; height: 1.05em; }

/* Przycisk CTA: klasa mi-cta w pozycji menu albo „ostatnia pozycja” w ustawieniach (1.1.0) */
.mi-item.mi-cta > .mi-link {
	padding: 10px 20px !important; background: var(--mi-cta-bg) !important; color: var(--mi-cta-text) !important;
	border-radius: var(--mi-radius, 4px) !important; transition: background-color 0.2s ease;
}
.mi-item.mi-cta > .mi-link:hover, .mi-item.mi-cta > .mi-link:focus-visible { background: var(--mi-cta-hover) !important; color: var(--mi-cta-text) !important; }
.mi-item.mi-cta > .mi-link::after { display: none; }

@media (prefers-reduced-motion: reduce) {
	.mi-mega, .mi-sub, .mi-link::after, .mi-trigger::after, .mi-caret, .mi-card-img img, .mi-item.mi-cta > .mi-link { transition: none !important; }
}
