.closest-shop-finder {
    background: var(--color-main);
    height: 100%;
    width: 100%;
}

.closest-shop-finder:not(.vertical) {
    gap: var(--gap);
    align-items: center;
    padding: var(--padding);
    width: calc(100% - var(--padding) * 2);
}

.closest-shop-finder,
.closest-shop-finder.vertical > div {
    display: flex;
}
.closest-shop-finder > div {
    gap: var(--gap);
}
.closest-shop-finder.vertical,
.closest-shop-finder.vertical > div {
    flex-direction: column;
}
.closest-shop-finder.vertical > div:not(.map-image) {
    padding: var(--padding);
    background: var(--color-main);
}
.closest-shop-finder.vertical > div.map-image {
    height: 100%;
    width: 100%;
    overflow: hidden;
    justify-content: center;
    align-items: center;
    position: relative;
}
.closest-shop-finder:not(.vertical) > div.map-image {
    margin-right: calc( 0px - var(--margin) );
    width: 100%;
}
.closest-shop-finder.vertical > div.map-image img {
    width: auto;
    height: 100%;
    transform: translate(-50%,-50%);
    left: 50%;
    top: 50%;
    position: absolute;
}
.closest-shop-finder:not(.vertical) > div.map-image img {
    margin-right: calc( 0px - var(--margin) );
    margin-block: calc( 0px - var(--margin) );
    height: calc( 100% + var(--margin) );
    width: 100%;
}

.closest-shop-finder.vertical > div h2 {
    color: white;
    text-align: center;
}
.closest-shop-finder > div h2 {
    font-size: var(--font-size-xl);
}
.closest-shop-finder > div h2 a {
    color: white;
}
.closest-shop-finder.vertical img {
	width: auto;
    height: auto	!important;
    min-width: 100%;
	min-height: 100%;
}
.closest-shop-finder button {
    position: absolute;
    right: 7.5px;
    top: 50%;
    transform: translateY(-50%);
    width: 27px;
    height: 27px;
    background: var(--color-main);
    border-radius: var(--border-radius);
    border: none;
    outline: none;
    padding: 5px;
    cursor: pointer;
}
.closest-shop-finder button svg {
    width: 100%;
    height: 100%;
}
.closest-shop-finder button svg * {
    stroke: white!important;
}
.closest-shop-finder form {
    position: relative;
    display: flex;
}
.closest-shop-finder:not(.vertical) form {
    margin-top: var(--margin);
}
.closest-shop-finder form input {
    padding: 10px;
    width: 100%;
    outline: none;
    border: none;
    border-radius: var(--border-radius);
    background: white;
}
.closest-shop-finder form span {
    position: absolute;
    left:10px;
    top: 50%;
    transform: translateY(-50%);
    color: black;
    font-size: 16px;
    pointer-events: none;
    opacity: 1;
    transition: 0.35s;
}
.closest-shop-finder form input:not(:placeholder-shown) + span,
.closest-shop-finder form input:focus + span {
    opacity: 0;
}