@charset "UTF-8";

:root,
[data-bs-theme=light] {
	--font: 'Lexend Deca', system-ui, sans-serif;
	--font-title: 'Paytone One', system-ui, sans-serif;

	--primary-color: hsl(330 82% 50%);
	--primary-color-light: hsl(330 82% 60%);
	--primary-color-dark: hsl(330 82% 40%);

	--secondary-color: hsl(37 91% 48%);
	--secondary-color-light: hsl(37 91% 58%);
	--secondary-color-dark: hsl(37 91% 38%);

	--xxl: 7.5rem;
	--xl: calc(var(--xxl) / 2);

	--bs-primary: var(--primary-color);
	--bs-primary-rgb: 232, 23, 128;

	--bs-light: hsl(38 82% 94%);
	--bs-light-rgb: 252, 243, 227;

	--bs-dark: black;
	--bs-dark-rgb: 0,0,0;

	--bs-body-color: black;

	--h1: 	clamp(3.15625rem, 5vw, 5.6125rem);
	--h2: 	clamp(2.36875rem, 4vw, 4.20625rem);
	--h3: 	clamp(1.775rem, 3vw, 3.15625rem);
	--h4: 	clamp(1.33125rem, 2vw, 2.36875rem);
	--h5: 	clamp(1.125rem, 1.7vw, 1.775rem);
	--h6: 	clamp(1.115rem, 1.3vw, 1.33125rem);
	--lead: var(--h6);
}

html {
	scroll-padding-top: 188px;
}

body {
	font-family: var(--font);
	line-height: 1.7;
}

a {
	color: var(--primary-color);
	text-decoration: none;
	transition: color 200ms;

	&:hover,
	&:focus {
		color: var(--primary-color-light);
		text-decoration: underline;
	}
}

.icon {
	width: var(--icon-size, 72px);
}

.icon-72px, [src*="_72px"] {width: 72px;}
.icon-48px, [src*="_48px"] {width: 48px;}
.icon-32px, [src*="_32px"] {width: 32px;}
.icon-16px, [src*="_16px"] {width: 16px;}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--font-title);
	margin-bottom: 1rem;
	font-weight: 400;
	line-height: 1;
}

h1 em, h2 em, h3 em, h4 em, h5 em, h6 em,
.h1 em, .h2 em, .h3 em, .h4 em, .h5 em, .h6 em {
	font-style: normal;
	color: var(--primary-color);
}

h1, .h1 {font-size: var(--h1) !important;}
h2, .h2 {font-size: var(--h2) !important;}
h3, .h3 {font-size: var(--h3) !important;}
h4, .h4 {font-size: var(--h4) !important;}
h5, .h5 {font-size: var(--h5) !important;}
h6, .h6 {font-size: var(--h6) !important;}
.lead   {font-size: var(--lead);}

.container-fluid {
	padding-inline: 3vw;
}

@media (min-width: 1366px) {
	.container {max-width: 1320px;}
}

.inset-0 {inset: 0;}

.p-xxl {padding: var(--xxl);}
.p-xl {padding: var(--xl);}
.px-xxl {padding-inline: var(--xxl)}
.px-xl {padding-inline: var(--xl)}

.pt-xxl {padding-top: var(--xxl);}
.pb-xxl {padding-bottom: var(--xxl);}
.py-xxl {
	padding-top: var(--xxl);
	padding-bottom: var(--xxl);
}
.mt-xxl {margin-top: var(--xxl);}
.mb-xxl {margin-bottom: var(--xxl);}
.my-xxl {
	margin-top: var(--xxl);
	margin-bottom: var(--xxl);
}

.pt-xl {padding-top: var(--xl);}
.pb-xl {padding-bottom: var(--xl);}
.py-xl {
	padding-top: var(--xl);
	padding-bottom: var(--xl);
}
.mt-xl {margin-top: var(--xl);}
.mb-xl {margin-bottom: var(--xl);}
.my-xl {
	margin-top: var(--xl);
	margin-bottom: var(--xl);
}

#main ol li ul {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

#main ol li + li {margin-top: 1rem;}



/*  MARK: navbar  */

.navbar {
    --bs-navbar-padding-x: 0;
    --bs-navbar-padding-y: 1.875rem;
    --bs-navbar-active-color: white;
    --bs-navbar-nav-link-padding-x: 1rem;
	transition: padding 200ms, box-shadow 200ms;
}

.navbar .bg-white {
	transition: padding 200ms;
}

.navbar.affix {
	background-color: #fff;
	--bs-navbar-padding-y: 0;
	box-shadow: 0 0 2rem hsl(0 0% 0% / .15);

	& .bg-white {
		padding-top: 0.25rem !important;
		padding-bottom: 0.25rem !important;
	}
}

.navbar-brand-image {
	height: 100px;
	transition: height 200ms, width 200ms;
}

.affix .navbar-brand-image {
	height: 44px;
	object-fit: cover;
	object-position: top;
	width: 90px;
}

.navbar-nav a {
	text-decoration: none;
}

.navbar-nav .nav-link {
	font-weight: 400;
	transition: color 200ms;

	&.active,
	&.show,
	&.open,
	&:hover,
	&:focus {
		color: var(--primary-color);
	}
}

.dropdown-menu {
	border: 0;
	padding: .75rem;
	border-radius: 0;
	box-shadow: 0 1rem 2.5rem -.5rem hsl(0 0% 0% / .25);
	background-color: hsl(0 0% 100%);
}

.dropdown-item {
	border-radius: .25rem;
	padding: 0.25rem .5rem;
	transition: color 200ms, background-color 200ms;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active {
	color: white;
	background-color: var(--primary-color);
}

.navbar a[href^="tel:"] {
	color: var(--bs-body-color);
	line-height: 1.3;

	& small {font-size: .75rem;}
}


/*  MARK: header  */

.slogan {margin-top: 188px;}

.swiper__image {
	height: 100vh;
	min-height: 660px;
	object-position: right;
}

.scroll {
	position: absolute;
	bottom: 2rem;
	left: 0;
}

/*  MARK: main content */

.btn {
    --bs-btn-padding-x: 1.875rem;
    --bs-btn-padding-y: 1.25rem;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 700;
    --bs-btn-line-height: 1.5;
		text-decoration: none !important;
}

.btn-primary {
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color-light);
    --bs-btn-hover-border-color: var(--primary-color-light);
    --bs-btn-active-bg: var(--primary-color-dark);
    --bs-btn-active-border-color: var(--primary-color-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color);
    --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-bg: var(--primary-color);
    --bs-btn-active-border-color: var(--primary-color);
}


.sklep-images {
	height: 531px;
}

.sklep-image {
	position: absolute;
	border: 6px solid white;
	border-radius: 50vmax;
	box-shadow: 0 0 1rem hsl(0 0% 0% / .15);
	aspect-ratio: 250/450;
	max-width: 48%;
}

.sklep-image-1 {
	top: 0;
	left: 0;
}

.sklep-image-2 {
	bottom: 0;
	right: 0;
}

.pet-badge {
	position: absolute;
	width: 33%;
	aspect-ratio: 244/231;
	background-image: url(../img/badge.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pet-badge span {
	font-size: var(--h6);
	font-family: var(--font-title);
	line-height: 1.1;
	text-align: center;
	padding-inline: 0.5rem;
}

#sklep .pet-badge {
	bottom: 2.5%;
	left: 33%;
	z-index: 2;

	& span {
		transform: rotate(-15deg);
	}
}



#oferta a {
	transition: color 200ms;
	color: var(--bs-body-color);
}

#oferta a img {
	transition: transform 200ms;
}

#oferta a:hover img {
	transform: scale(1.1);
}

#oferta a:hover {
	color: var(--primary-color);
}



#oferta .robakomat {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 158px;
	background-image: url(../img/robakomat-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center right;
	transition: transform 200ms;

	text-decoration: none;
	color: white;

	&:hover,
	&:focus {
		transform: scale(1.05);
	}

	& em {
		color: var(--secondary-color);
	}

	& .pet-badge {
		top: 50%;
		right: 3rem;
		transform: translateY(-50%);

		width: 215px;

		& span {
			font-size: var(--h6);
			transform: rotate(15deg);
			text-align: center;
		}
	}
}

#uslugi .swiper-button-prev,
#uslugi .swiper-button-next {
	color: white;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: var(--bs-dark);
	transition: transform 250ms;

	&::after {
		font-size: 1.25rem;
	}

	&:active {
		transform: scale(.9);
	}
}

#uslugi .swiper-button-next {right: -3rem;}
#uslugi .swiper-button-prev {left: -3rem;}

#uslugi a {
	& img {
		aspect-ratio: 338/450;
		transition: transform 200ms;
	}

	& .position-absolute {
		background-image: linear-gradient(to top, hsl(0 0% 0% / .75), hsl(0 0% 0% / 0) 50%);
	}

	&:hover img {
		transform: scale(1.1);
	}
}

#uslugi .lead {
	line-height: 1.15;
	display: block;
}

#mapa iframe {
	width: 100%;
	height: 600px;
	max-height: 60dvh;
	display: block;
}




/*  MARK: stopka */

.footer-logo {
	filter: brightness(0) invert(1);
}

footer a {
	text-decoration: none;
	color: white;
	transition: color 200ms;
}

footer a:hover,
footer a:focus {
	color: var(--primary-color-light);
}

.list-unstyled li + li {
	margin-top: 0.75em;
}

.madeby {
	display: flex;
	align-items: center;
}

.madeby small {
	font-size: 0.625rem;
	margin: 0.2em 0.2em 0 0;
}


/* MARK: TAG LIST */

.tag-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tag-list li {
  display: inline-block;
  background-color: #e9ecef;
  color: #495057;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: 999px;
  border: 1px solid #ced4da;
  white-space: nowrap;
}

/*  MARK: sub content  */

.sub:not(:has(header img)) {
	padding-top: 109px;
}

.sub header img {
	display: block;
	object-fit: cover;
	width: 100%;
	max-height: 50dvh;
	min-height: 230px;
}

main:has(#sub-pages:last-of-type) {
	padding-bottom: 0;
}

.gallery a {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: .35rem;
}

.gallery a img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
	transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1);
}

.gallery a:hover img {
	transform: scale(1.1);
}

.downloads a {
	text-decoration: none;
	color: black;
	border: 1px solid hsl(0 0% 90%);
	border-radius: .25rem;
	transition: color 200ms, border-color 200ms;

	& strong {
		font-size: 1rem !important;
		font-weight: normal !important;
		font-family: var(--font);
	}
}

.downloads a:hover {
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.form-control {
	border-radius: .25rem;
}

.form-control.error {
	border-color: red;
}

.error-msg {
	color: red;
}

/*  MARK: paginator  */

.pagination {
	display: flex;
}

.pagination li {
	display: none;
}

.pagination .active,
.pagination .insertPage,
.pagination li:first-child,
.pagination li:last-child {
	display: block;
}

.pagination a,
.pagination input {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: 0 5px;
	padding: 0;
	text-align: center;
	color: #bbb;
	border: 1px solid #e1e1e1;
	text-decoration: none;
	transition: all .2s;
}

.pagination a:focus,
.pagination a:hover,
.pagination input:focus,
.pagination input:hover {
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
}

.pagination input::placeholder {
	color: #bbb;
	font-size: 16px;
	font-weight: 500;
}

.pagination .active a {
	border: 1px solid var(--primary-color);
	background: var(--primary-color);
	color: #fff;
	cursor: text;
}

.pagination .insertPage+.insertPage {
	display: none;
}






/* MARK: filtry */


#filter {
	margin-bottom: 30px;
	display: flex;
	justify-content: center;
	gap: 15px;
	flex-wrap: wrap;
}

.filter_tag {
	text-align: center;
	white-space: nowrap;
}

.filter_tag.active,
.filter_tag:focus {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	color: white !important;
}

#filter a {
	flex-basis: 100%;
}

#filter a:focus {
	color: white !important;
	background-color: var(--primary-color);
}

.r.hidden {
	display: none;
}

.r.show {
	transform-origin: center;
	transform: scale(0);
	opacity: 0;
	animation: show 0.3s 1 forwards;
}

.r a img {
	height: auto;
	aspect-ratio: 4/3;
	transition: transform 666ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.r a:hover img {
	transform: scale(1.1);
}

@keyframes show {
	0% {
		transform: scale(0);
		opacity: 0;
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

.caption_title.badge {
	white-space: wrap !important;
}



/*  MARK: RWD  */


@media (max-height: 700px) and (min-width: 1300px) {
	.slogan {
		margin-top: 60px;
	}

	.slogan h1 {
		line-height: 1.1;
	}
}


@media (max-width: 1399px) {
	.navbar-nav .nav-link {
		font-size: var(--h5);
	}

	.navbar a[href^="tel:"] {
		font-size: var(--h5);
	}

	.navbar a[href^="tel:"] {
		& small {
			font-size: .875rem;
		}
	}
}



@media (max-width: 1299px) {
	.slogan {
		margin-top: 15dvh;
	}

	#oferta a img {
		width: 120px;
	}
}


@media (max-width: 1199px) {
	.scroll {display: none !important;}

	.navbar-brand-image {
		height: 70px;
	}
}


@media (max-width: 991px) {
	.slogan {
		padding-top: 2rem;
		padding-bottom: 2rem;
		text-align: center;
		text-shadow: 0 2px 2px hsl(0 0% 0% / .35);
		background-image: radial-gradient(ellipse at center, hsl(0 0% 0% / .5) 0%, hsl(0 0% 0% / 0) 60%);
	}

	#sklep .row {
		flex-direction: column-reverse !important;
	}

	#sklep .col-lg-7 {
		text-align: center;

		& .d-flex {
			justify-content: center;
		}
	}

	#sklep .col-lg-5 {
		margin-top: 2rem;
	}

	#oferta .row {
		row-gap: 2rem;
	}

	#oferta .robakomat {
		height: 85px;
	}

	#oferta .robakomat {
		& .pet-badge {
			width: 150px;
		}
	}

	#uslugi a {
		& img {
			aspect-ratio: 21/9;
		}
	}

	footer {
		text-align: center;

		& .d-flex {
			flex-direction: column;
			align-items: center;
			gap: .25rem !important;
		}

		& .d-flex + .d-flex {
			margin-top: 1.5rem;
		}
	}

	.madeby {
		margin-top: 1.5rem;
	}
}


@media (max-width: 767px) {
	:root {
		--xxl: 4rem;
	}

	.pet-badge span {
		padding-inline: 0.85rem;
	}
}

@media (max-width: 575px) {
	:root {
		--xxl: 3rem;
	}

	.navbar {
		--bs-navbar-padding-y: .875rem;
	}

	.navbar .bg-white {
		padding: .75rem 1.25rem !important;
	}

	.swiper__image {
		min-height: 590px;
		object-position: 80% 0;
	}

	#oferta .robakomat {
    & .pet-badge {
      width: 105px;
			right: 1rem;
    }
  }

	.sklep-images {
		height: 385px;
	}

	.robakomat {
		padding-inline: 1rem !important;
	}
}


@media (max-width: 399px) {
	.slogan h1 {
		font-size: var(--h2);
	}

	.sklep-images {
		height: 310px;
	}

	#oferta .robakomat {
		height: 50px;

		& .h4 {font-size: var(--h6) !important;}
		& .pet-badge {
			width: 74px;

			& span {
				font-size: 1rem;
			}
		}
	}

	#mapa iframe {
		height: 60dvh;
		min-height: 250px;
	}
}