.shop-google-map{position:relative;overflow:hidden;background:#f3f4f5}.shop-map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background-position:center;background-size:cover;background-repeat:no-repeat;z-index:2}.shop-map-placeholder::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.36);backdrop-filter:blur(1.5px)}.shop-map-load-button,.shop-map-load-error{position:relative;z-index:1}.shop-map-load-error{margin:0;padding:7px 10px;background:rgba(255,255,255,.92);color:#8a2424;border-radius:6px}.shop-google-map .animated-dot .pin{background:var(--nox-marker-color,#BFA46F)}.shop-google-map .animated-dot .pin:after{background:var(--nox-marker-center,#d0b77b)}.shop-google-map .animated-dot .pulse:after{box-shadow:0 0 1px 2px var(--nox-marker-color,#BFA46F)}.map-marker{overflow:visible!important}.shop-map-placeholder[hidden]{display:none!important}.nox-map-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;cursor:pointer}.shop-action-icon,.shop-map-load-icon,.shop-result-icon{display:inline-flex;vertical-align:middle}.shop-action-icon svg,.shop-map-load-icon svg,.shop-result-icon svg{width:1.1em;height:1.1em}.shop-result-icon--small svg{width:1em;height:1em}.shop-google-card{max-width:550px;margin:40px auto;padding:25px 30px;background:#fff;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);font-family:inherit;text-align:center}.shop-google-card h3{margin-bottom:20px;font-size:1.2rem;font-weight:600;color:#222}.shop-google-card .form-row{display:flex;gap:10px;margin-bottom:15px}.shop-google-card input,.shop-google-card select{width:100%;min-height:44px;padding:12px 40px 12px 14px;border-radius:10px;border:1px solid #ddd;font-size:.95rem;background:#fff;appearance:none;line-height:1.2;color:#222}.shop-google-card select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%236c63ff' d='M5.5 7.5L10 12l4.5-4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;cursor:pointer}.shop-google-card input:focus,.shop-google-card select:focus{outline:none;border-color:#6c63ff;box-shadow:0 0 0 3px rgba(108,99,255,.15)}#info_institute[aria-busy="true"]{opacity:.65}@media(max-width:480px){.shop-google-card .form-row{flex-direction:column}}@media(prefers-reduced-motion:reduce){.nox-google-map *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* Premium button system — scoped to Nox Google Map only */
.shop-google-map .nox-map-btn,
.shop-google-card .nox-map-btn,
#info_institute .nox-map-btn {
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  min-height:46px;
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:999px;
  font-family:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.015em;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  box-shadow:0 8px 22px rgba(25,25,25,.12);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease;
}
.shop-google-map .nox-map-btn:hover,
.shop-google-card .nox-map-btn:hover,
#info_institute .nox-map-btn:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(25,25,25,.18);
  text-decoration:none;
}
.shop-google-map .nox-map-btn:active,
.shop-google-card .nox-map-btn:active,
#info_institute .nox-map-btn:active {
  transform:translateY(0);
  box-shadow:0 5px 14px rgba(25,25,25,.13);
}
.shop-google-map .nox-map-btn:focus-visible,
.shop-google-card .nox-map-btn:focus-visible,
#info_institute .nox-map-btn:focus-visible {
  outline:3px solid rgba(191,164,111,.30);
  outline-offset:3px;
}
.shop-google-map .nox-map-btn:disabled,
.shop-google-card .nox-map-btn:disabled,
#info_institute .nox-map-btn:disabled {
  opacity:.58;
  cursor:wait;
  transform:none;
  box-shadow:none;
}

/* Primary / map loader */
.shop-google-map .nox-map-btn--map {
  min-height:50px;
  padding:14px 24px;
  color:#fff;
  background:#171717;
  border-color:#171717;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.shop-google-map .nox-map-btn--map:hover {
  color:#fff;
  background:#2a2a2a;
  border-color:#2a2a2a;
}
.shop-google-map .nox-map-btn--map .shop-map-load-icon {
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}

/* Search action */
.shop-google-card .nox-map-btn--search {
  width:100%;
  min-height:48px;
  color:#fff;
  background:#171717;
  border-color:#171717;
}
.shop-google-card .nox-map-btn--search:hover {
  color:#fff;
  background:#2a2a2a;
  border-color:#2a2a2a;
}

/* Reservation / conversion CTA */
.shop-google-map .nox-map-btn--reservation,
#info_institute .nox-map-btn--reservation {
  color:#201b12;
  background:linear-gradient(135deg,#e0ca9c,#bfa46f);
  border-color:#bfa46f;
  box-shadow:0 8px 22px rgba(191,164,111,.28);
}
.shop-google-map .nox-map-btn--reservation:hover,
#info_institute .nox-map-btn--reservation:hover {
  color:#17120b;
  background:linear-gradient(135deg,#ead9b6,#c9ad73);
  border-color:#b79a60;
  box-shadow:0 12px 28px rgba(191,164,111,.36);
}

/* Icons */
.nox-map-btn .shop-action-icon,
.nox-map-btn .shop-map-load-icon {
  flex:0 0 auto;
}
.nox-map-btn .shop-action-icon svg,
.nox-map-btn .shop-map-load-icon svg {
  display:block;
  width:18px;
  height:18px;
}

/* Better inputs so the search form visually matches its CTA */
.shop-google-card input,
.shop-google-card select {
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.shop-google-card input:hover,
.shop-google-card select:hover {
  border-color:#c9c9c9;
}
.shop-google-card input:focus,
.shop-google-card select:focus {
  border-color:#bfa46f;
  box-shadow:0 0 0 4px rgba(191,164,111,.14);
}

@media (max-width:480px){
  .shop-google-map .nox-map-btn,
  .shop-google-card .nox-map-btn,
  #info_institute .nox-map-btn {
    width:100%;
    min-height:48px;
    padding:13px 18px;
  }
  .shop-google-map .nox-map-btn--map {width:auto;max-width:calc(100% - 32px)}
}

@media (prefers-reduced-motion:reduce){
  .shop-google-map .nox-map-btn,
  .shop-google-card .nox-map-btn,
  #info_institute .nox-map-btn {transition:none!important;transform:none!important}
}
