.wpcf7 .screen-reader-response {
position: absolute;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
word-wrap: normal !important;
}
.wpcf7 .hidden-fields-container {
display: none;
}
.wpcf7 form .wpcf7-response-output {
margin: 2em 0.5em 1em;
padding: 0.2em 1em;
border: 2px solid #00a0d2; }
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
border-color: #46b450; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
border-color: #dc3232; }
.wpcf7 form.spam .wpcf7-response-output {
border-color: #f56e28; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
border-color: #ffb900; }
.wpcf7-form-control-wrap {
position: relative;
}
.wpcf7-not-valid-tip {
color: #dc3232; font-size: 1em;
font-weight: normal;
display: block;
}
.use-floating-validation-tip .wpcf7-not-valid-tip {
position: relative;
top: -2ex;
left: 1em;
z-index: 100;
border: 1px solid #dc3232;
background: #fff;
padding: .2em .8em;
width: 24em;
}
.wpcf7-list-item {
display: inline-block;
margin: 0 0 0 1em;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
content: " ";
}
.wpcf7-spinner {
visibility: hidden;
display: inline-block;
background-color: #23282d; opacity: 0.75;
width: 24px;
height: 24px;
border: none;
border-radius: 100%;
padding: 0;
margin: 0 24px;
position: relative;
}
form.submitting .wpcf7-spinner {
visibility: visible;
}
.wpcf7-spinner::before {
content: '';
position: absolute;
background-color: #fbfbfc; top: 4px;
left: 4px;
width: 6px;
height: 6px;
border: none;
border-radius: 100%;
transform-origin: 8px 8px;
animation-name: spin;
animation-duration: 1000ms;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
@media (prefers-reduced-motion: reduce) {
.wpcf7-spinner::before {
animation-name: blink;
animation-duration: 2000ms;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes blink {
from {
opacity: 0;
}
50% {
opacity: 1;
}
to {
opacity: 0;
}
}
.wpcf7 [inert] {
opacity: 0.5;
}
.wpcf7 input[type="file"] {
cursor: pointer;
}
.wpcf7 input[type="file"]:disabled {
cursor: default;
}
.wpcf7 .wpcf7-submit:disabled {
cursor: not-allowed;
}
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
direction: ltr;
}
.wpcf7-reflection > output {
display: list-item;
list-style: none;
}
.wpcf7-reflection > output[hidden] {
display: none;
}:root {
--svm-purple:    #504354;
--svm-purple-lt: #6b5c96;
--svm-cream:     #f5f0e8;
--svm-white:     #ffffff;
--svm-shadow:    0 8px 40px rgba(74,63,107,.25);
--svm-radius:    0px;
--svm-transition: .22s cubic-bezier(.4,0,.2,1);
} .svm-wrapper {
position: relative;
margin: 0 auto;
font-family: 'Georgia', 'Times New Roman', serif;
} .svm-map-container {
position: relative;
width: 100%;
border-radius: 0;
overflow: hidden;
box-shadow: var(--svm-shadow);
}
.svm-map-img {
display: block;
width: 100%;
height: auto;
} .svm-restaurant-cards {
margin-top: 18px;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}
.svm-restaurant-card {
border: 1px solid rgba(80,67,84,.18);
background: #E4E1D8;
border-radius: 0;
padding: 14px 12px;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
text-align: center;
transition: transform var(--svm-transition), box-shadow var(--svm-transition), border-color var(--svm-transition);
}
.svm-restaurant-card:hover,
.svm-restaurant-card:focus-visible {
transform: translateY(-2px);
box-shadow: 0 8px 22px rgba(74,63,107,.15);
border-color: rgba(80,67,84,.35);
}
.svm-restaurant-card-logo {
width: 84px;
height: 84px;
padding: 8px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: #faf7fc;
overflow: hidden;
}
.svm-restaurant-card-logo img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.svm-restaurant-card-name {
font-family: 'Arial', sans-serif;
font-size: .88rem;
color: #504354;
font-weight: 600;
line-height: 1.3;
} .svm-hotspot {
position: absolute;
transform: translate(-50%, -50%);
background: none;
border: none;
cursor: pointer;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
z-index: 10;
}
.svm-hotspot-pulse-button {
width: 84px;
height: 84px;
justify-content: center;
gap: 0;
z-index: 9;
} .svm-hotspot-pulse-button .svm-hotspot-label {
display: none;
}
.svm-hotspot-icon {
display: flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border-radius: 50%;
font-size: 18px;
position: relative;
box-shadow: 0 4px 16px rgba(0,0,0,.25);
transition: transform var(--svm-transition), box-shadow var(--svm-transition);
border: 3px solid var(--svm-white);
overflow: hidden;
}
.svm-hotspot-icon img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 50%;
}
.svm-hotspot:hover .svm-hotspot-icon,
.svm-hotspot:focus-visible .svm-hotspot-icon {
transform: scale(1.18);
box-shadow: 0 6px 24px rgba(74,63,107,.6);
} .svm-hotspot-pulse {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 42px; height: 42px;
border-radius: 50%;
border: 3px solid;
box-shadow: 0 0 0 2px rgba(81,68,85,.25), 0 0 22px rgba(81,68,85,.45);
animation: svm-pulse 1.7s ease-out infinite;
pointer-events: none;
--svm-pulse-radius: 1.9;
}
@keyframes svm-pulse {
0%   { transform: scale(0.92); opacity: .95; }
65%  { transform: scale(var(--svm-pulse-radius)); opacity: 0;  }
100% { transform: scale(var(--svm-pulse-radius)); opacity: 0;  }
} .svm-hotspot-label {
background: var(--svm-purple);
color: var(--svm-white);
font-size: 10px;
font-family: 'Arial', sans-serif;
letter-spacing: .04em;
padding: 3px 8px;
border-radius: 0;
white-space: nowrap;
opacity: 0;
transform: translateY(4px);
transition: opacity var(--svm-transition), transform var(--svm-transition);
pointer-events: none;
box-shadow: 0 2px 8px rgba(74,63,107,.3);
max-width: 140px;
overflow: hidden;
text-overflow: ellipsis;
}
.svm-hotspot:hover .svm-hotspot-label,
.svm-hotspot:focus-visible .svm-hotspot-label {
opacity: 1;
transform: translateY(0);
} .svm-overlay {
display: none;
position: fixed;
inset: 0;
background: rgba(20,15,35,.55);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 99999;
align-items: center;
justify-content: center;
padding: 20px;
}
.svm-overlay.svm-active {
display: flex;
animation: svm-fade-in .2s ease;
}
@keyframes svm-fade-in {
from { opacity: 0; }
to   { opacity: 1; }
} .svm-popup {
--svm-popup-bg: var(--svm-white);
--svm-popup-text: var(--svm-purple);
--svm-popup-title: var(--svm-popup-text);
--svm-popup-sub: #504354;
--svm-popup-phone-bg: #504354;
--svm-popup-phone-text: var(--svm-white);
--svm-popup-web-bg: #504354;
--svm-popup-web-text: var(--svm-white);
--svm-popup-gmaps-bg: #504354;
--svm-popup-gmaps-text: var(--svm-white);
background: var(--svm-popup-bg);
color: var(--svm-popup-text);
border-radius: 0;
padding: 36px 32px 28px;
max-width: 360px;
width: 100%;
position: relative;
box-shadow: 0 20px 60px rgba(74,63,107,.35);
animation: svm-slide-up .25s cubic-bezier(.34,1.56,.64,1);
text-align: center;
}
@keyframes svm-slide-up {
from { transform: translateY(24px) scale(.96); opacity: 0; }
to   { transform: translateY(0)    scale(1);   opacity: 1; }
} .svm-close {
position: absolute;
top: 14px; right: 16px;
background: var(--svm-cream);
border: none;
border-radius: 0;
width: 32px; height: 32px;
font-size: 20px;
line-height: 1;
cursor: pointer;
color: var(--svm-purple);
display: flex; align-items: center; justify-content: center;
transition: background var(--svm-transition), transform var(--svm-transition);
}
.svm-close:hover { background: #e8e0f0; transform: rotate(90deg); } .svm-popup-photo {
width: 156px;
height: 156px;
margin: 0 auto 16px;
padding: 10px;
display: flex;
align-items: center;
justify-content: center;
background: #faf7fc;
border-radius: 50%;
border: 1px solid rgba(0,0,0,.08);
box-shadow: 0 2px 10px rgba(0,0,0,.1);
overflow: hidden;
}
.svm-popup-photo img {
display: block;
max-width: 78%;
max-height: 78%;
object-fit: contain;
margin: 0 auto;
} .svm-popup-name {
margin: 0 0 4px;
font-size: 1.25rem;
color: var(--svm-popup-title);
font-weight: 600;
line-height: 1.3;
} .svm-popup-sub {
margin: 0 0 20px;
font-size: .85rem;
color: var(--svm-popup-sub);
font-style: italic;
min-height: 1.2em;
} .svm-popup-links {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.svm-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 9px;
padding: 12px 20px;
border-radius: 0;
font-family: 'Arial', sans-serif;
font-size: .9rem;
font-weight: 400;
letter-spacing: .03em;
text-decoration: none;
transition: transform var(--svm-transition), box-shadow var(--svm-transition), opacity var(--svm-transition);
cursor: pointer;
}
.svm-btn svg {
width: 18px; height: 18px;
flex-shrink: 0;
}
.svm-btn:hover   { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(74,63,107,.2); }
.svm-btn:active  { transform: translateY(0);    box-shadow: none; opacity: .9; }
.svm-btn:hover,
.svm-btn:focus-visible {
text-decoration: none;
color: var(--svm-white);
} .svm-btn-phone {
background: var(--svm-popup-phone-bg);
color: var(--svm-popup-phone-text);
border: 2px solid var(--svm-popup-phone-bg);
} .svm-btn-web {
background: var(--svm-popup-web-bg);
color: var(--svm-popup-web-text);
border: 2px solid var(--svm-popup-web-bg);
} .svm-btn-gmaps {
background: var(--svm-popup-gmaps-bg);
color: var(--svm-popup-gmaps-text);
border: 2px solid var(--svm-popup-gmaps-bg);
} .svm-popup .svm-btn-phone,
.svm-popup .svm-btn-phone:hover,
.svm-popup .svm-btn-phone:focus,
.svm-popup .svm-btn-phone:focus-visible,
.svm-popup .svm-btn-phone:active,
.svm-popup .svm-btn-phone:visited,
.svm-popup .svm-btn-web,
.svm-popup .svm-btn-web:hover,
.svm-popup .svm-btn-web:focus,
.svm-popup .svm-btn-web:focus-visible,
.svm-popup .svm-btn-web:active,
.svm-popup .svm-btn-web:visited,
.svm-popup .svm-btn-gmaps,
.svm-popup .svm-btn-gmaps:hover,
.svm-popup .svm-btn-gmaps:focus,
.svm-popup .svm-btn-gmaps:focus-visible,
.svm-popup .svm-btn-gmaps:active,
.svm-popup .svm-btn-gmaps:visited {
color: #ffffff !important;
} @media (max-width: 480px) {
.svm-popup { padding: 28px 18px 22px; }
.svm-popup-photo { margin-left: auto; margin-right: auto; }
.svm-hotspot-icon { width: 34px; height: 34px; font-size: 15px; }
.svm-hotspot-pulse-button { width: 72px; height: 72px; }
.svm-hotspot-pulse { width: 34px; height: 34px; }
.svm-restaurant-cards {
grid-template-columns: 1fr;
gap: 10px;
}
.svm-restaurant-card {
flex-direction: row;
justify-content: flex-start;
text-align: left;
gap: 12px;
}
.svm-restaurant-card-logo {
width: 70px;
height: 70px;
padding: 7px;
flex-shrink: 0;
}
}
@media (min-width: 1025px) {
.svm-wrapper.svm-cards-hide-desktop .svm-restaurant-cards {
display: none;
}
}