.rcp-contact {
	--rcp-contact-icon: var(--e-global-color-primary, #b5838d);
	--rcp-contact-icon-size: 16px;
	--rcp-social-size: 40px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0;
	font-style: normal;
}

.rcp-contact__list,
.rcp-contact__social {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rcp-contact__list {
	flex-direction: column;
	flex-wrap: wrap;
	gap: 12px 28px;
}

.rcp-contact__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
}

.rcp-contact .rcp-contact__item a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.rcp-contact__item a:hover,
.rcp-contact__item a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.rcp-contact__icon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: var(--rcp-contact-icon-size);
	height: 1.5em;
	color: var(--rcp-contact-icon);
	font-size: var(--rcp-contact-icon-size);
}

.rcp-contact__icon svg {
	width: var(--rcp-contact-icon-size);
	height: var(--rcp-contact-icon-size);
	fill: currentColor;
}

.rcp-contact__social {
	flex-wrap: wrap;
	gap: 10px;
}

.rcp-contact__social li {
	margin: 0;
}

.rcp-contact__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--rcp-social-size);
	height: var(--rcp-social-size);
	border-radius: 50%;
	background: var(--e-global-color-primary, #b5838d);
	color: #fff;
	font-size: calc(var(--rcp-social-size) * 0.42);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.rcp-contact__social svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

@media (prefers-reduced-motion: reduce) {
	.rcp-contact__item a,
	.rcp-contact__social a {
		transition: none;
	}
}

/* Ikony liniowe Recepcji: kreska zamiast wypełnienia, social w ramce. */
.rcp-contact-icons-line .rcp-contact__icon svg,
.rcp-contact-icons-line .rcp-contact__social svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
}

.rcp-contact-icons-line .rcp-contact__social a {
	border: 1px solid currentColor;
	border-radius: var(--rcp-radius, 0);
	background: transparent;
	color: var(--rcp-color-heading, #2e2a27);
}

.rcp-contact-icons-line .rcp-contact__social a:hover {
	background: var(--rcp-color-heading, #2e2a27);
	color: #fff;
}

/* Po najechaniu: tło w kolorze głównym, ikona w kolorze czytelnym na nim. Działa też, gdy
   kolor ikony albo tło paska jest takie jak kolor nagłówków (wcześniej hover był niewidoczny). */
.elementor-widget.rcp-contact-icons-line .rcp-contact .rcp-contact__social a:is(:hover, :focus-visible) {
	background: var(--rcp-social-hover-bg, var(--rcp-color-primary, #8c5e52));
	border-color: var(--rcp-social-hover-bg, var(--rcp-color-primary, #8c5e52));
	color: var(--rcp-social-hover-color, var(--rcp-color-on-primary, #fff));
}

/* Same ikony (np. telefon w headerze na telefonie): cała ikona jest linkiem 44×44,
   tekst zostaje dla czytników ekranu. */
@media (max-width: 1024px) {
	.rcp-contact-compact-tablet .rcp-contact__item {
		position: relative;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	.rcp-contact-compact-tablet .rcp-contact__item a {
		position: absolute;
		inset: 0;
	}

	.rcp-contact-compact-tablet .rcp-contact__txt {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}

@media (max-width: 767px) {
	.rcp-contact-compact-mobile .rcp-contact__item {
		position: relative;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	.rcp-contact-compact-mobile .rcp-contact__item a {
		position: absolute;
		inset: 0;
	}

	.rcp-contact-compact-mobile .rcp-contact__txt {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
}


@media (max-width: 1024px) {
	.rcp-contact-compact-tablet .rcp-contact__item:not(:has(.rcp-contact__icon)) {
		position: static;
		width: auto;
		height: auto;
	}

	.rcp-contact-compact-tablet .rcp-contact__item:not(:has(.rcp-contact__icon)) a {
		position: static;
	}

	.rcp-contact-compact-tablet .rcp-contact__item:not(:has(.rcp-contact__icon)) .rcp-contact__txt {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}
}

@media (max-width: 767px) {
	.rcp-contact-compact-mobile .rcp-contact__item:not(:has(.rcp-contact__icon)) {
		position: static;
		width: auto;
		height: auto;
	}

	.rcp-contact-compact-mobile .rcp-contact__item:not(:has(.rcp-contact__icon)) a {
		position: static;
	}

	.rcp-contact-compact-mobile .rcp-contact__item:not(:has(.rcp-contact__icon)) .rcp-contact__txt {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}
}


.rcp-contact-circle-yes .rcp-contact__icon {
	width: calc(var(--rcp-contact-icon-size) * 2.4);
	height: calc(var(--rcp-contact-icon-size) * 2.4);
	border-radius: 50%;
	background: var(--rcp-contact-icon-bg, transparent);
}

.rcp-contact-circle-yes .rcp-contact__item {
	align-items: center;
}


.rcp-contact-al-center .rcp-contact__item { justify-content: center; text-align: left; }
@media (max-width: 1024px) {
	.rcp-contact-al-tablet-center .rcp-contact__item { justify-content: center; text-align: left; }
	.rcp-contact-al-tablet-flex-start .rcp-contact__item { justify-content: flex-start; text-align: left; }
}
@media (max-width: 767px) {
	.rcp-contact-al-mobile-center .rcp-contact__item { justify-content: center; text-align: left; }
	.rcp-contact-al-mobile-flex-start .rcp-contact__item { justify-content: flex-start; text-align: left; }
}


.rcp-contact-lay-column.rcp-contact-al-center .rcp-contact__a2 { display: block; }
@media (max-width: 1024px) {
	.rcp-contact-lay-tablet-column.rcp-contact-al-tablet-center .rcp-contact__a2 { display: block; }
	.rcp-contact-lay-tablet-row .rcp-contact__a2 { display: inline; }
}
@media (max-width: 767px) {
	.rcp-contact-lay-mobile-column.rcp-contact-al-mobile-center .rcp-contact__a2 { display: block; }
	.rcp-contact-lay-mobile-row .rcp-contact__a2 { display: inline; }
}


.rcp-contact-lay-column.rcp-contact-al-center .rcp-contact__list { align-items: flex-start !important; width: fit-content; max-width: 100%; margin-inline: auto; justify-content: flex-start !important; }
.rcp-contact-lay-column.rcp-contact-al-center .rcp-contact__item { justify-content: flex-start; }
@media (max-width: 1024px) {
	.rcp-contact-lay-tablet-column.rcp-contact-al-tablet-center .rcp-contact__list { align-items: flex-start !important; width: fit-content; max-width: 100%; margin-inline: auto; justify-content: flex-start !important; }
	.rcp-contact-lay-tablet-column.rcp-contact-al-tablet-center .rcp-contact__item { justify-content: flex-start; }
}
@media (max-width: 767px) {
	.rcp-contact-lay-mobile-column.rcp-contact-al-mobile-center .rcp-contact__list { align-items: flex-start !important; width: fit-content; max-width: 100%; margin-inline: auto; justify-content: flex-start !important; }
	.rcp-contact-lay-mobile-column.rcp-contact-al-mobile-center .rcp-contact__item { justify-content: flex-start; }
}


.rcp-contact-lay-column.rcp-contact-al-center .rcp-contact__list:not(:has(.rcp-contact__icon)) { align-items: center !important; width: auto; }
.rcp-contact-lay-column.rcp-contact-al-center .rcp-contact__list:not(:has(.rcp-contact__icon)) .rcp-contact__item { justify-content: center; text-align: center; }
@media (max-width: 1024px) {
	.rcp-contact-lay-tablet-column.rcp-contact-al-tablet-center .rcp-contact__list:not(:has(.rcp-contact__icon)) { align-items: center !important; width: auto; }
	.rcp-contact-lay-tablet-column.rcp-contact-al-tablet-center .rcp-contact__list:not(:has(.rcp-contact__icon)) .rcp-contact__item { justify-content: center; text-align: center; }
}
@media (max-width: 767px) {
	.rcp-contact-lay-mobile-column.rcp-contact-al-mobile-center .rcp-contact__list:not(:has(.rcp-contact__icon)) { align-items: center !important; width: auto; }
	.rcp-contact-lay-mobile-column.rcp-contact-al-mobile-center .rcp-contact__list:not(:has(.rcp-contact__icon)) .rcp-contact__item { justify-content: center; text-align: center; }
}
