.rot-locator {
	--rot-locator-accent: var(--accent, #008CA5);
	--rot-locator-text: var(--text,#3C4146);
	--rot-locator-muted: #68707a;
	--rot-locator-border: var(--rot-locator-accent);
	--rot-locator-border-soft: rgba(0, 140, 165, 0.28);
	--rot-locator-bg: #ffffff;
	--rot-locator-item-bg: #528ca512;
	--rot-locator-bg-soft: #f7fafb;
	--rot-locator-items-gap:20px;


    --rot-locator-card-py:26px;
	--rot-locator-card-px:24px;

	--rot-locator-item-h-size:20px;

	display: flex;
	flex-wrap: wrap;
	gap: 22px 38px;
	width: 100%;
}

.rot-locator__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 220px;
	min-width: 0;
}

.rot-locator__field--partners {
	flex: 1 1 100%;
	width: 100%;
	margin-top: 6px;
}

.rot-locator__field label,
.rot-locator label {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--rot-locator-text);
}

.rot-locator__input,
.rot-locator__select,
.rot-locator input[type="text"],
.rot-locator input[type="email"],
.rot-locator input[type="tel"],
.rot-locator input[type="number"],
.rot-locator select,
.rot-locator textarea {
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--rot-locator-border);
	border-radius: 5px;
	background-color: var(--rot-locator-bg);
	color: var(--rot-locator-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	box-shadow: none;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.rot-locator textarea {
	min-height: 120px;
	resize: vertical;
}

.rot-locator__select,
.rot-locator select {
	appearance: none;
	padding-right: 42px;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--rot-locator-text) 50%),
		linear-gradient(135deg, var(--rot-locator-text) 50%, transparent 50%);
	background-position:
		calc(100% - 22px) 50%,
		calc(100% - 16px) 50%;
	background-size:
		6px 6px,
		6px 6px;
	background-repeat: no-repeat;
}

.rot-locator__input:hover,
.rot-locator__select:hover,
.rot-locator input[type="text"]:hover,
.rot-locator input[type="email"]:hover,
.rot-locator input[type="tel"]:hover,
.rot-locator input[type="number"]:hover,
.rot-locator select:hover,
.rot-locator textarea:hover {
	border-color: var(--rot-locator-accent);
	background-color: var(--rot-locator-bg);
}

.rot-locator__input:focus,
.rot-locator__select:focus,
.rot-locator input[type="text"]:focus,
.rot-locator input[type="email"]:focus,
.rot-locator input[type="tel"]:focus,
.rot-locator input[type="number"]:focus,
.rot-locator select:focus,
.rot-locator textarea:focus {
	border-color: var(--rot-locator-accent);
	box-shadow: 0 0 0 3px var(--rot-locator-border-soft);
	background-color: var(--rot-locator-bg);
}

.rot-locator__input:active,
.rot-locator__select:active,
.rot-locator input[type="text"]:active,
.rot-locator input[type="email"]:active,
.rot-locator input[type="tel"]:active,
.rot-locator input[type="number"]:active,
.rot-locator select:active,
.rot-locator textarea:active {
	border-color: var(--rot-locator-accent);
}

.rot-locator__input:disabled,
.rot-locator__select:disabled,
.rot-locator input:disabled,
.rot-locator select:disabled,
.rot-locator textarea:disabled {
	cursor: not-allowed;
	opacity: 0.65;
	background-color: var(--rot-locator-bg-soft);
	color: var(--rot-locator-muted);
}

.rot-locator__input::placeholder,
.rot-locator input::placeholder,
.rot-locator textarea::placeholder {
	color: var(--rot-locator-muted);
	opacity: 1;
}


.rot-locator__partners-title {
    margin: 0 0 4px;
    font-size: var(--h3-size,22px);
    font-family: var(--serif,sans-serif);
    font-weight: 400;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--rot-locator-text);
}

.rot-locator__partners {
    display: flex;
    flex-direction: row;
    gap: var(--rot-locator-items-gap);
    width: 100%;
    flex-wrap: wrap;
}

.rot-locator__hint {
	margin: 0;
	color: var(--rot-locator-muted);
	font-size: 15px;
	line-height: 1.5;
}

.rot-locator__partner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: var(--rot-locator-card-py,18px) var(--rot-locator-card-px,22px);
    border: 0px solid var(--rot-locator-border-soft);
    /* border: 0px solid var(--locator-accent); */
    border-radius: 6px;
    background: var(--rot-locator-item-bg);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    flex: 1 1 720px;
}


.rot-locator__partner:hover {
    border-color: var(--rot-locator-accent);
    box-shadow: 0 2px 22px rgba(0, 0, 0, 0.14);
    transform: translateY(-1px);
}

.rot-locator__partner-main {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.rot-locator__partner-title {
    font-size: var(--rot-locator-item-h-size, 20px);
    font-weight: 800;
    line-height: 1.25;
    color: var(--rot-locator-text);
    text-transform: uppercase;
}

.rot-locator__partner-meta {
	font-size: 14px;
	font-weight: 700;
	color: var(--rot-locator-accent);
}

.rot-locator__partner-address {
	font-size: 14px;
	line-height: 1.45;
	color: var(--rot-locator-muted);
}

.rot-locator__partner-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
    align-items: flex-start;
}

.rot-locator__partner-select,
.rot-locator__partner-map {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 40px;
	padding: 9px 14px;
	border-radius: 5px;
	font-size: var(--sans,'sans serif');
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}


.rot-locator .btn {
    color: var(--rot-locator-text);
    font-size: calc(var(--btn-font-size,18px) - 3px);
    margin: 5px 0!important;
    position: relative;
    width: 240px;
    justify-content: flex-start;
}

.rot-locator .btn:hover,
.rot-locator .btn:focus {

	text-decoration-thickness: 2px !important;
}

.rot-locator__partner.is-selected {
	border-color: var(--rot-locator-accent);
	box-shadow: 0 0 0 3px var(--rot-locator-border-soft);
}

.rot-locator__partner.is-selected .rot-locator__partner-select {
	border-color: var(--rot-locator-text);
	background: var(--rot-locator-text);
	color: #ffffff;
}


/* .rot-locator__partner-map.btn:before {
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% + var(--rot-locator-card-px));
    height: calc(100% + var(--rot-locator-card-py));
    border: 1px dotted red;
} */


.rot-locator {
	gap: 18px;
}
.rot-locator__field {
	flex-basis: 100%;
}
.rot-locator__partner-actions {
	width: 100%;
}
@media (max-width: 640px) {


	.rot-locator__partner {
		flex-direction: column;
	}


	.rot-locator__partner-select,
	.rot-locator__partner-map {
		width: 100%;
	}
}
@media(min-width:640px){
	.rot-locator {
		gap: 22px 38px;
	}
	.rot-locator__field {
		flex-basis: 220px;
	}
	.rot-locator__field--partners {
		flex: 1 1 100%;
		width: 100%;
		margin-top: 6px;
	}
	.rot-locator__partner-actions {
		align-items: flex-end;
		width:auto;
	}
	.rot-locator .btn {
		justify-content: flex-end;
	}
}



@media(min-width:1400px){
	.rot-locator__partner{
		max-width: calc(50% - (.5 * var(--rot-locator-items-gap)));
	}
}