/************************
  PONIŻEJ 1200px (Tablety horyzontalnie / Małe laptopy)
************************/
@media (max-width: 75em) {
	html {
		font-size: 56.25%;
	}

	.container {
		max-width: 100rem;
	}
}

/************************
  PONIŻEJ 944px (Tablety)
************************/
@media (max-width: 59em) {
	html {
		font-size: 50%;
	}

	.header {
		padding: 2.4rem 4rem;
	}

	.hero-content {
		margin-right: 5rem;
	}

	.hero-content h1 {
		font-size: 5.2rem;
		letter-spacing: 2.3px;
		line-height: 1.1;
	}

	.hero-content h2 {
		letter-spacing: 2.3px;
		line-height: 1.1;
	}

	.grid {
		column-gap: 4.8rem;
		row-gap: 6.4rem;
	}

	.grid--3-cols {
		grid-template-columns: repeat(2, 1fr);
	}

	.services-box:last-child {
		grid-column: 1 / -1;
		justify-self: center;
		width: 50%;
	}
}

/************************
  PONIŻEJ 768px (Mobile Navigation, Header & Vertical Centering)
************************/
@media (max-width: 48em) {
	/* WYRÓWNANIE LOGO I HAMBURGERA */
	.header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 2.4rem 3rem !important;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
		background-color: transparent;
	}

	.btn-mobile-nav {
		display: block;
		z-index: 1001;
		border: none;
		background: none;
		padding: 0;
		cursor: pointer;
	}

	.icon-mobile-nav {
		font-size: 4.8rem;
		color: #eae5e5;
		transition: all 0.3s;
	}

	/* Na podstronach ikona jest ciemna na jasnym tle */
	.subpage .icon-mobile-nav {
		color: #555;
	}

	/* Po przewinięciu ikona staje się jasna */
	.subpage .header.sticky .icon-mobile-nav {
		color: #eae5e5;
	}

	/* DOMYŚLNIE WIDOCZNY JEST TYLKO HAMBURGER */
	.icon-mobile-nav[name='menu-outline'] {
		display: block;
	}

	.icon-mobile-nav[name='close-outline'] {
		display: none;
	}

	/* PO OTWARCIU MENU POKAZUJEMY TYLKO X */
	.nav-open .icon-mobile-nav[name='menu-outline'] {
		display: none;
	}

	.nav-open .icon-mobile-nav[name='close-outline'] {
		display: block;
		color: #555;
	}

	/* TWOJE DZIAŁAJĄCE MENU BOCZNE */
	.main-nav {
		background-color: rgba(234, 229, 229, 0.98);
		position: fixed;
		top: 0;
		right: 0;
		width: 30rem;
		max-width: 85vw;
		height: 100vh;
		padding: 12rem 5rem 4rem 3rem;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;

		transform: translateX(100%);
		visibility: hidden;
		pointer-events: none;
		transition: all 0.4s ease-out;
		box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
		z-index: 1000;
		color: #333;
	}

	.nav-open .main-nav {
		transform: translateX(0);
		visibility: visible;
		pointer-events: auto;
	}

	.main-nav-list {
		flex-direction: column;
		gap: 2.4rem;
		align-items: flex-start;
		padding: 0;
		width: 100%;
		list-style: none;
	}

	.main-nav-link:link,
	.main-nav-link:visited {
		font-size: 2.2rem;
		color: #333;
		letter-spacing: 1px;
		white-space: normal;
		line-height: 1.2;
		display: block;
		width: 100%;
		overflow-wrap: break-word;
	}

	/* DROPDOWN */
	.dropdown {
		width: 100%;
		align-items: flex-start;
	}

	.dropdown-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		display: block;
		transform: none;
		padding: 1rem 0 0 1.6rem;
		text-align: left;
		width: 100%;
		background: none;
		list-style: none;
	}

	.dropdown-link:link,
	.dropdown-link:visited {
		color: #666;
		font-size: 1.6rem;
		text-transform: uppercase;
	}

	/* WYŚRODKOWANIE I OBNIŻENIE HERO */
	.section-hero {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100vh;
		padding: 0 !important;
		background-position: 40% center;
	}

	.hero-content {
		margin: 0 !important;
		text-align: center;
		max-width: 90%;
		width: 100%;
		transform: translateY(5vh);
	}

	.hero-content h1 {
		font-size: 5.2rem;
		line-height: 1.1;
		max-width: 50rem;
		margin-left: auto !important;
		margin-right: auto !important;
		letter-spacing: 2.3px;
		color: #eae5e5;
	}

	.hero-content h2 {
		font-size: 3.6rem;
		letter-spacing: 2.3px;
		color: #eae5e5;
	}

	/* SEKCJA O MNIE */
	.about {
		grid-template-columns: 1fr;
		height: auto;
	}

	.img-about {
		height: 45rem;
		grid-row: 1;
	}

	/* SEKCJA OFERTA I CTA */
	.grid--cta {
		grid-template-columns: 1fr;
		text-align: center;
	}

	/* FOOTER */
	.footer .grid {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 3.2rem;
	}

	.footer-list {
		flex-direction: column;
		align-items: center;
		gap: 1.6rem;
	}
}

/************************
  PONIŻEJ 550px (Najmniejsze telefony)
************************/
@media (max-width: 34em) {
	.section-hero {
		background-position: 18% center;
	}

	.header {
		padding: 2rem 2.4rem !important;
	}

	.hero-content {
		transform: translateY(5vh);
	}

	.hero-content h1 {
		font-size: 4.4rem;
		letter-spacing: 2.3px;
		color: #eae5e5;
	}

	.hero-content h2 {
		font-size: 3rem;
		letter-spacing: 2.3px;
		color: #eae5e5;
	}

	.grid--3-cols {
		grid-template-columns: 1fr;
	}

	.services-box:last-child {
		width: 100%;
	}

	.instagram-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.main-nav {
		width: 25rem;
		padding: 12rem 3rem 4rem 3rem;
	}

	.main-nav-link:link,
	.main-nav-link:visited {
		font-size: 2rem;
	}
}
