/* ─── Gulf Office Map ─────────────────────────────────────── */

#gulf-map-root {
  display: grid;
  grid-template-columns: 3fr 2fr;
  /* background: #f5f2ec; */
}

/* ─── Map side ───────────────────────────────────────────── */

#gulf-map-root .gm-map-side {
  position: relative;
  /* background: #3d5265; */
  overflow: hidden;
  display: flex;          /* add this */
}

#gulf-map-root svg#gm-svg {
  width: 100%;
  height: 100%;           /* was: height: auto */
  display: block;
  min-height: 300px;      /* safety net for very short viewports */
}

/* SVG drives its own height via the viewBox aspect ratio (600:380).
   No min-height needed — the viewBox does the work. */
#gulf-map-root svg#gm-svg {
  width: 100%;
  height: auto;
  display: block;
}

#gulf-map-root .gm-country {
  transition: fill 0.2s;
}

#gulf-map-root .gm-hoverable {
  cursor: pointer;
}



/* ─── Info side ──────────────────────────────────────────── */

#gulf-map-root .gm-info-side {
  /* background: #ffffff; */
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}

@media (min-width: 767px){
  #gulf-map-root .gm-info-side {
  padding: 2rem 1.8rem;
}
}

#gulf-map-root .gm-office-card {
  cursor: pointer;
  transition: background 0.15s;
    align-items: stretch;
    column-gap: 15px;
    display: grid;
    align-items: center;
    grid-template-columns: 3fr 2fr;
    border-right: 3px solid var(--accent);
    border-bottom: 3px solid var(--accent);
    padding-bottom: 20px;
}

@media (min-width: 767px){
  #gulf-map-root .gm-office-card {
    column-gap: 40px;
    grid-template-columns: repeat(2,minmax(0,1fr));
}
}


#gulf-map-root .gm-office-card.active {
  background: var(--base-2);
}

.gm-card-text {
  padding-left: 20px;
}

#gulf-map-root .gm-card-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 10px;
  transition: color 0.2s;
  line-height: 1.2;
  padding-top:10px;
}

#gulf-map-root .gm-card-addr {
  font-size: 14px;
  color: var(--accent);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 0;
}

@media (min-width: 767px){
  #gulf-map-root .gm-card-addr {
  font-size: 16px;
}
#gulf-map-root .gm-card-title {
  font-size: 25px;
}
}

#gulf-map-root .gm-card-img {
  width: 100%;
  height: 100%;
}

#gulf-map-root .gm-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ─── Responsive ─────────────────────────────────────────── */

@media (max-width: 720px) {
  #gulf-map-root {
    grid-template-columns: 1fr;
  }
}